htaccess重写规则不起作用

时间:2013-02-05 03:01:49

标签: wordpress .htaccess redirect rewrite

我一直在尝试使用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>

这也不起作用。

任何建议。

2 个答案:

答案 0 :(得分:0)

您最好的选择是与您的托管服务提供商进行查询。我过去不得不与托管服务提供商RE这样的问题打交道。某些托管服务器以某种方式设法限制/覆盖.htaccess中的某些设置。

一个例子是托管在Windows服务器上的Wordpress站点,我的一个主机不允许.htaccess文件以某种方式更改永久链接....

答案 1 :(得分:0)

不确定为什么它不起作用。我使用“RedirectMatch 301”而不是使用相同的Regex,它运行良好。