为什么这个URL重写不起作用?

时间:2013-02-24 16:13:59

标签: .htaccess

这是我网域上的一个页面:www.mydomain.com/en/stats.php

我希望它看起来像这样:www.mydomain.com/en/statistics/players

这很容易实现,但由于某些原因,下面的htaccess代码不起作用。

Options +FollowSymLinks

RewriteEngine On
RewriteRule ^/statistics/players stats.php [R=301,L,QSA]

当我尝试打开SEO友好版本时,我收到404错误。当我使用常规URL时,页面打开正常。我做错了什么?

3 个答案:

答案 0 :(得分:0)

我认为需要:

RewriteEngine On
RewriteRule ^en/statistics/players en/stats.php [QSA]

R=301意味着它将执行重定向而不是重写,并尝试重定向到/stats.php,我想这不存在。

L标志意味着这是将为此请求处理的最后一次重写规则,在这种情况下,我怀疑是您想要的。如果/en/stats.php有进一步的重写规则,则不会被处理。

答案 1 :(得分:0)

网址可能没有前导斜杠。尝试不使用或可选斜杠。此外,当您将模式锚定在开头时,您必须检查前导en

RewriteRule ^/?en/statistics/players /en/stats.php

答案 2 :(得分:0)

最终的作用如下:

RewriteRule en/statistics/players en/stats.php [NC,L]