2012-09-28 329 views
0

Google网站管理员工具为我提供了一个提示,即我拥有2个完全相同内容的网页。htaccess - 重写规则

例如:

/airports/romania/115.php 
/airports/romania/115.phphey1 

在htacces文件我有这样的:

RewriteRule airports/(.*)/([0-9]{1,}).php airports_list.php?airport=$2&country_air=$1 

我检查和双重检查和三重检查我所有的代码airports_list.php和所有其他文件在服务器上。我无法在任何地方找到“hey1”。

为了解决我的问题,我想我必须重定向像www.mydomain.com/airports/romania/115.phphey1这样的链接到404页面。

我该怎么做?

下也是我的.htaccess文件里面工作:

ErrorDocument 404 http://www.mydomain.com/404.php 
+2

把一个美元符号在该正则表达式的结尾。 –

+0

谢谢!即使在“php”之外还有更多字符,我也不知道美元符号在那一刻停止了模式匹配! –

回答

1

如果你把一个美元符号在表达式的末尾,它将停止匹配等垃圾在“.PHP”的结束和去404.

RewriteRule airports/(.*)/([0-9]{1,}).php$ airports_list.php?airport=$2&country_air=$1 
+0

非常感谢! –

+0

谷歌网站管理员工具为我提供了另外两个页面的相同提示(双重内容):'tickets-to-cityname.html'和'tickets-to-cityname.html?city = cityname'。 tickets-to-cityname.html是通过另一个重写规则创建的:'RewriteRule tickets-to - (。*)。html $ tickets/view-tickets.php?city = $ 1' 我该如何解决这个问题? :( –