从.htaccess中的网址中删除点

时间:2013-09-09 12:47:09

标签: php apache .htaccess mod-rewrite

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

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

现在Google有3000个404错误,我的列表排名已经下降,

例如,在我的系统中:

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

并在Google中:

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

我只需要将点击的网址重定向或从网址中删除点,并且还可以省略.html的最后一个点

我试过了:

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

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

如果有人可以提供帮助,那么每个人都可以在同一个问题上获益。

2 个答案:

答案 0 :(得分:0)

尝试此操作并将此行放在位于Root

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

答案 1 :(得分:0)

此规则可能无效的原因:

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

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

更简单的规则是:

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

这将循环直到没有更多的杂散点。