我的.htaccess中使用ReWriteRule有一些问题(使用wordpress)。
我尝试访问example.com/forum/?view=forum&id=1
到example.com/forum/topic/1
。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^forum/topic/([0-9]+)/?$ /forum/?view=forum&id=$1 [L]
</IfModule>
我尝试使用forum/?view=forum&id=$1
(没有斜线),只有http://example.com/forum/?view=forum&id=$1
可以正常工作,但它会更改网址(重定向)。
我如何解决这个问题(查看没有重定向的论坛主题)?
另外,如何将所有example.com/forum/?view=forum&id=1
个网址更改为example.com/forum/topic/1
?
答案 0 :(得分:1)
我认为这就是你想要的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/forum/topic/([0-9]+)$ /forum/?view=forum&id=$1 [L]
</IfModule>
至于重定向。无论如何,它都会重定向某些条件,例如主机名是否不同(即重写http://example.com/forum以转到http://my.othersite.net/forum)。使用这个虽然我不明白为什么会这样。
编辑:在原始重写规则和主机名重写示例之前添加了斜杠,这会导致重定向。