我有一个带有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处理请求?它甚至不应该进行重定向,对吧?
答案 0 :(得分:0)
嗯,Rewrite****
指令都属于mod_rewrite模块,而Redirect
指令属于mod_alias模块。这两个模块都在URL映射处理管道中,因此应用了两组指令。
如果您希望重定向与重写规则一致,那么您不应该使用mod_alias,而只使用mod_rewrite:
RewriteRule ^plans(.*)$ /samples$1 [L,R=301]
是你的Redirect
等效的mod_rewrite。