2012-01-27 91 views
-1

我有一个网站指的是各种印度城市。代码从外部来源,它可能会命名一个城市,如加尔各答,calcuta,加尔各答等的链接htaccess 301重定向查找并替换

我需要一个htaccess 301重定向规则, :

加尔各答到Delhi.html加尔各答到Delhi.html

Calcuta-Airport.html至加尔各答Airport.html

感谢。

回答

0

你所要求的并不简单,需要你有一台功能强大的电脑,但结果简直太神奇了。

这里就是我会建议做:

  • 你必须测试,如果你的表达在URL /http://mysite.com/(expr1)-to-(expr2)/
  • 如果是匹配的,有没有文件,重定向到一个PHP文件句柄一切。
  • 在这个PHP文件中,分析URL(再次):如果您的表达式匹配/(expr1)-to-(expr2)/,那么使用MySQL搜索SOUNDEX(在您的Php文件中)。请参阅查询样本here
  • 然后,在这个“特殊”404情况下,做一个建议,像谷歌那样,即:“你的意思是Kolkata-to-Delhi.html?如果是这样,点击链接”。

这是一项艰苦的工作,但它既有趣又显示您的技能。很少有网站这样做(我只是知道谷歌实际上)。

0

也许你可以尝试这样的事:

# REDIRECTS FROM (eg): http://www.calcutta.com.au/ to http://www.kolkata.com.au/ 
RewriteCond %{HTTP_HOST} ^calcutta\.com\.au$ [nocase, ornext] 
RewriteCond %{HTTP_HOST} ^www\.calcutta\.com\.au$ [nocase] 
RewriteRule ^(.*)$ http://www.kolkata.com.au/ [nocase,L,R=301,O] 

的通知 “[NOCASE]”,它忽略大小写。这只会从“calcutta”重新指向“kolkata”,而不是从“calcuta”或“Kolkata”(注意在Calcuta中缺少't',在Kolkata中注意大写'K')。

您需要按照上面相同的代码模式添加两条规则。