2013-02-05 152 views
1

我一直在努力修复谷歌网站管理员使用htaccess重写但无法获取任何地方的数以千计的404错误。我读了很多,但迄今为止没有成功实施它。htaccess重写规则不起作用

报告的错误都是这种格式:

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

不知道为什么它不工作。我用“RedirectMatch 301”而不是相同的正则表达式,它工作正常。

0

你最好的选择是查询这与您的托管服务提供商。过去我不得不处理类似托管服务提供商的RE问题。某些托管服务器设法限制/覆盖.htaccess中的某些设置。

一个例子是托管在Windows服务器上的WordPress网站,我的一个主机不允许.htaccess文件来改变固定链接在某些方面....