我一直在尝试使用htaccess重写来修复Google网站管理员中的数千个404错误但却无法解决问题。我读了很多,但到目前为止成功实施它并没有运气。
报告的错误采用以下格式:
http://sub.example.com/tl/author/admin/page/82
http://sub.example.com/tl/author/admin/page/91
http://sub.example.com/no/author/admin/page/101
这些是由我不再使用的翻译插件创建的页面。 “tl”,“no”等是语言文件夹。
我想从网址中删除语言文件夹以使其成为:
http://sub.example.com/author/admin/page/82
这是我在htaccess中输入的内容
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^([A-Za-z][A-Za-z])/author/admin/page/([0-9]+)$ http://sub.example.com/author/admin/page/$2 [L,R=301]
</IfModule>
我尝试了很多重写规则,但没有任何效果。然后我删除了所有正则表达式,只使用了完整的URL:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^http://sub.example.com/tl/author/admin/page/82$ http://sub.example.com/author/admin/page/82 [L,R=301]
</IfModule>
这也不起作用。
任何建议。
答案 0 :(得分:0)
您最好的选择是与您的托管服务提供商进行查询。我过去不得不与托管服务提供商RE这样的问题打交道。某些托管服务器以某种方式设法限制/覆盖.htaccess中的某些设置。
一个例子是托管在Windows服务器上的Wordpress站点,我的一个主机不允许.htaccess文件以某种方式更改永久链接....
答案 1 :(得分:0)
不确定为什么它不起作用。我使用“RedirectMatch 301”而不是使用相同的Regex,它运行良好。