301使用htaccess Regex重定向

时间:2015-09-12 16:54:21

标签: regex .htaccess web-deployment url-redirection http-status-code-301

我想在其他一些URl上重定向我的301网址。以下是案例:

xyz.com/html/german = xyz.com/de
xyz.com/german = xyz.com/de

又一个案例:

xyz.com/html/german/subpage.html = xyz.com/de/subpage

对此有任何帮助吗?

我尝试使用Regex,但它无法正常工作:

以下是我的尝试:

RewriteRule ^/de/([^/.]+)$ html/german/$1 [L]

2 个答案:

答案 0 :(得分:1)

你的规则实际上正在逆转。请尝试以下重定向规则:

RedirectMatch 301 ^/(html/)?german/?$ /de

RedirectMatch 301 ^/(?:html/)?german/([^.]+)(?:\.html)?$ /de/$1

答案 1 :(得分:0)

从重写模式中删除前导斜杠:

尝试:

RewriteRule ^de/?$ html/german/ [NC,L]
RewriteRule ^de/([^/.]+)/?$ html/german/$1 [NC,L]