这是我网域上的一个页面: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时,页面打开正常。我做错了什么?
答案 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]