【问题标题】:Removing dots from url in .htaccess从 .htaccess 中的 url 中删除点
【发布时间】:2013-09-09 12:47:08
【问题描述】:

任何人都可以帮助并告诉我如何从 .htaccess 中的 url 中删除点(没有“.html”的最后一个点)

我有超过 3000 个以“L.L.C.”结尾的列表的原因,并且在升级 phpmydirectory 后,我从列表友好的 url 中删除了所有点,

现在谷歌出现3000 404错误,我的listing排名下降了,

例如,在我的系统中:

www.mydomain.com/company-name-llc.html

在谷歌中:

www.mydomain.com/company-name-l.l.c..html

我只需要在不带点的情况下重定向 url 或从 url 中删除点,并且不丢失 .html 的最后一个点

我试过了:

RewriteRule ^([^.]*)\.([^.]*)\.?([^.]*)?\.?([^.]*)?\.?([^.]*)?(\.html|php$) $1$2$3$4 [NC]

但它在我网站的所有页面上都出现 404 错误。

请如果有人可以帮助heel,那么每个人都可以在同一个问题中受益。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    这条规则可能不起作用的原因:

    RewriteRule ^([^.]*)\.([^.]*)\.?([^.]*)?\.?([^.]*)?\.?([^.]*)?(\.html|php$) $1$2$3$4 [NC]
    

    是你有 6 个捕获组,但只有 4 个反向引用。

    更简单的规则是:

    RewriteRule ^([^/]*)\.([^/]*)\.html$ /$1$2.html [L,R=301]
    

    这将循环直到不再有杂散点。

    【讨论】:

    • 工作就像一个魅力,非常感谢,你救了我的命,真的是你;)
    【解决方案2】:

    试试这个,把这行放在你位于根目录的htaccess

    RewriteEngine on
    RewriteRule (.*)\.\.html$ /$1.html [R=301,L]
    

    【讨论】:

    • 将您的 htaccess 文件添加到您的问题中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多