URL重写不适用于一个URL

时间:2012-10-15 16:10:13

标签: wordpress apache .htaccess mod-rewrite url-rewriting

# 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]

RewriteRule ^foo$ /bar [L,R=301]

</IfModule>

# END WordPress

这些行适用于wordpress但RewriteRule ^foo$ /bar [L,R=301]在我打开www.example.com/foo时没有重定向

2 个答案:

答案 0 :(得分:2)

.htaccess中的RewriteRule顺序。将.htaccess代码更改为:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^foo/?$ /bar [L,R=301]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress

答案 1 :(得分:1)

您是否尝试将该特定规则置于RewriteBase /规则之下?我认为其他规则已经做了导致你的最后一个被忽略的东西。