0

我按照此说明保护子目录。 https://support.hostgator.com/articles/wordpress-preventing-you-from-password-protecting-a-directory

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

变成

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./ /index.php [L]
</IfModule>
# END WordPress

它可以保护Wordpress中的子目录而不返回404页面,但似乎网站链接无效。

例子。网站返回错误页面是它在域末尾没有斜线。

工作域:http ://demodomain.com/something/

无效域:http ://demodomain.com/something

4

1 回答 1

1

在 RewriteEngine On 下方尝试以下选项规则:

1) RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.+?)/$ /$1 [R=302,NE,L]

2) #Removing trailing slash
   RewriteRule ^(.*)/$ /$1 [L,R]

在 URL 末尾添加斜杠

RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

或做以下

# Ensure all URLs have a trailing slash.
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.example.com/$1/ [L,R=301]
于 2018-07-27T16:28:11.560 回答