在.htaccess中的RewriteRule之后重复添加的URL?

时间:2011-10-25 13:19:28

标签: php .htaccess mod-rewrite browser url-rewriting

这是我第一次重新编写网址,以便对SEO友好。

这是我的htaccess规则:

RewriteEngine On
RewriteRule ratings/ ratings.php
RewriteRule regions/ regionlist.php
RewriteRule mobile/ mobile.php

出于某种原因,当我点击两次相同的链接时,该网址会自动附加到地址栏中。下面是一个显示这种情况的gif图像:

http://i.stack.imgur.com/y5hqA.gif

这不好吗?如果是的话,有人知道什么是错的吗?

非常感谢帮助!

谢谢大家

4 个答案:

答案 0 :(得分:3)

将您的RewriteRules更改为:

RewriteRule ^([a-zA-Z]+)$ $1.php

并确保您的链接如下:

<a href="/ratings">ratings</a>

但如果您需要特定的重写,请更改斜杠的位置

RewriteRule /ratings ratings.php
RewriteRule /regions regionlist.php
RewriteRule /mobile mobile.php

答案 1 :(得分:1)

我认为这不是在这里遇到麻烦的htaccess ... IMO你拿走当前的URL并附加点击项目的名称。而是从头开始创建URL。

答案 2 :(得分:0)

如果您希望重写始终基于根目录,您可能希望使用前面的“/”(斜杠)编写规则

RewriteEngine On
RewriteRule /ratings ratings.php
RewriteRule /regions regionlist.php
RewriteRule /mobile mobile.php

这应该强制重写规则将其附加到根URL。

答案 3 :(得分:-2)

使用重定向:

redirect 301 /ratings /ratings.php