【问题标题】:Protect sub-directory Wordpress with htpassword return page not found使用未找到 htpassword 返回页面保护子目录 Wordpress
【发布时间】:2018-07-30 20:48:44
【问题描述】:

我按照这个说明来保护子目录。 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

【问题讨论】:

    标签: wordpress .htaccess .htpasswd


    【解决方案1】:

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

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

    在网址末尾添加斜杠

    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]
    

    【讨论】:

    • 我需要的是在末尾添加斜线,而不是删除。
    • @MinhAnh 我已经更新了我的答案。请检查一下。
    猜你喜欢
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2012-11-06
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    相关资源
    最近更新 更多