.htaccess rewriterule而不更改url

时间:2017-02-06 15:58:15

标签: wordpress .htaccess mod-rewrite

我的.htaccess中使用ReWriteRule有一些问题(使用wordpress)。 我尝试访问example.com/forum/?view=forum&id=1example.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

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)。使用这个虽然我不明白为什么会这样。

编辑:在原始重写规则和主机名重写示例之前添加了斜杠,这会导致重定向。