.htaccess htaccess 301重定向查找和替换

.htaccess htaccess 301重定向查找和替换,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我有一个网站,涉及到印度的各个城市。代码从外部源创建链接,外部源可以将一个城市命名为加尔各答、加尔各答、加尔各答等 我需要一个htaccess 301重定向规则,考虑到所有拼写错误,该规则将重定向以下已知的良好拼写(加尔各答): 加尔各答至德里.html至加尔各答至德里.html 而且 Calcuta-Airport.html至Kolkata-Airport.html 谢谢。也许你可以试试这样的东西: # REDIRECTS FROM (eg): http://www.calcutta.com.

我有一个网站,涉及到印度的各个城市。代码从外部源创建链接,外部源可以将一个城市命名为加尔各答、加尔各答、加尔各答等

我需要一个htaccess 301重定向规则,考虑到所有拼写错误,该规则将重定向以下已知的良好拼写(加尔各答):

加尔各答至德里.html至加尔各答至德里.html

而且

Calcuta-Airport.html至Kolkata-Airport.html


谢谢。

也许你可以试试这样的东西:

# 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]”。这将只从“加尔各答”重定向到“加尔各答”,而不是从“加尔各答”或“加尔各答”(注意加尔各答中缺少的“t”和加尔各答中大写的“K”)


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

您所要求的并不简单,需要您拥有一台功能强大的计算机,但结果非常惊人

以下是我的建议:

  • 您必须测试您的表达式在URL
    /
    中是否匹配,即
    http://mysite.com/(expr1)-至-(expr2)/
  • 如果是且没有文件,则重定向到处理所有内容的Php文件
  • 在这个Php文件中,再次分析URL:如果表达式与
    /(expr1)-to-(expr2)/
    匹配,则使用MySQL(在
    Php
    文件中)进行搜索。请参阅查询示例
  • 然后,在这个“特殊”404案例中,做一个建议,就像谷歌做的那样,即:“你是说
    加尔各答到德里.html
    ?如果是,点击链接”
这是一项艰苦的工作,但它既有趣又显示了你的技能。很少有网站能做到这一点(实际上我只知道谷歌)