0

这是我域上的一个页面: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 时,该页面可以正常打开。我究竟做错了什么?

4

3 回答 3

0

我认为它需要是:

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

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

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

于 2013-02-24T16:16:10.203 回答
0

URL 可能没有前导斜杠。尝试不带或可选的斜线。en此外,当您在开始时锚定您的模式时,您必须检查前导

RewriteRule ^/?en/statistics/players /en/stats.php
于 2013-02-24T16:59:48.037 回答
0

最终起作用的是:

RewriteRule en/statistics/players en/stats.php [NC,L]
于 2013-02-25T10:09:05.457 回答