使用重写规则更改URL

时间:2013-08-05 13:27:33

标签: .htaccess mod-rewrite

如何使用带有wordpress的重写规则将我的网址从domain.com/sprekers/?spreker=value更改为domain.com/value。

我试图像这样改变它

RewriteCond %{QUERY_STRING} ^spreker=(.*)$
RewriteRule ^sprekers/$ %1/? [R=301,L]

比我用htaccess测试器测试http://htaccess.madewithlove.be如果我在测试仪上测试它一切正常但是当我在我的wordpress网站上这样做时它不起作用。这是我完整的htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{QUERY_STRING} ^spreker=(.*)$
RewriteRule ^sprekers/$ %1/? [R=301,L]
</IfModule>

我认为它不起作用,因为/ sprekers已经由wordpress“制作”我如何解决这个问题?

干杯 罗宾

1 个答案:

答案 0 :(得分:1)

我认为,您需要将第一个代码放在RewriteBase /规则之后。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^spreker=(.*)$
RewriteRule ^sprekers/$ %1/? [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>