RewriteRule似乎不工作,但RedirectMatch确实
问题描述:
我想使用RewriteRule将URL的请求重定向到更新的URL字符串。这是一个WordPress网站。RewriteRule似乎不工作,但RedirectMatch确实
/类别的约 /类别的约-页面名
应该重定向到: /分类/类别的约 /分类/类别的约-页面名
这条规则:RedirectMatch permanent ^/([^/]+)-([^/]+)/?$ /$1/$1-$2/
似乎做很好的诀窍。但是,通过将wp-admin请求重定向到/ wp/wp-admin,似乎弄乱了/ wp-admin。
我试图用一个重写规则改为:
RewriteCond %{REQUEST_URI} !^/wp-
RewriteRule ^/([^/]+)-([^/]+)/?$ /$1/$1-$2/ [L,R=301]
但这似乎并没有产生任何影响,并重写规则似乎并没有工作,而redirectmatch一样。
这里有什么想法吗?
答
删除斜线:
RewriteCond %{REQUEST_URI} !^/wp-
RewriteRule ^([^/]+)-([^/]+)/?$ /$1/$1-$2/ [L,R=301]
Leading slash
,因为这是每个目录应用不匹配.htaccess
。
我欠你最喜欢的一杯泡沫饮料,先生。 =) 最后一个问题,我怎么能写一个重写条件来排除扩展名为.html的文件? –
非常欢迎。对于'.html'跳过,你可以使用'RewriteCond%{REQUEST_URI}!\。html $' – anubhava
好的先生,请问你也可以看看这个问题吗? http://goo.gl/hyCtNG –