.htaccess rewrite rule puzzle

时间:2016-06-17 作者:maguijo

因为我需要使用cPanel对子目录进行密码保护,所以我修改了Wordpress的。htaccess规则如下所示:https://wordpress.org/support/topic/password-protect-a-directory-with-htaccess

这是我当前的wordpress重写块:

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

# END WordPress
请特别注意这一行:

RewriteRule ./ /index.php [L]
wordpress的常规重写规则如下:

RewriteRule . /index.php [L]
它对受密码保护的目录非常有效。但我似乎失去了对页面加载时没有尾部斜杠的重写。

在我更改此内容之前,Wordpress会查看如下url:http://example.com/about-us 并将其加载为http://example.com/about-us/ (带尾随斜杠)。

现在它只是转到一个未找到的页面。它甚至没有加载主题的404页。

有没有办法在不破坏我的密码保护目录的情况下解决这个问题?

1 个回复
SO网友:user6454281

You can use question mark:

RewriteRule ./?$ /index.php [L]

相关推荐

Redirect htaccess

我需要帮助重定向我的页面。例如,我有网站https://example.com. 我需要将内容从https://example.com 到https://example.com/blog. 这不是问题,我通过更改主页URL来做到这一点。这很有效。但现在我需要添加来自旧的重定向https://example.com 到https://xmpl.com.我想用。htaccess,但这不起作用。你们能帮帮我吗?以下是我对此的一些尝试,但两者都不起作用。RewriteEngine On RewriteRu