即使在htaccess中应用规则后,重定向如何工作?

时间:2014-05-23 05:26:36

标签: .htaccess

我有一个带有htaccess的wordpress网站,如下所示:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

然后我有以下重定向:

Redirect 301 /plans /samples

这正在进行正确的重定向。

怎么可能呢?如果在声明文件或目录不存在的条件之后声明,请让index.php处理请求?它甚至不应该进行重定向,对吧?

1 个答案:

答案 0 :(得分:0)

嗯,Rewrite****指令都属于mod_rewrite模块,而Redirect指令属于mod_alias模块。这两个模块都在URL映射处理管道中,因此应用了两组指令。

如果您希望重定向与重写规则一致,那么您不应该使用mod_alias,而只使用mod_rewrite:

RewriteRule ^plans(.*)$ /samples$1 [L,R=301]

是你的Redirect等效的mod_rewrite。