htaccess重定向模式

时间:2012-09-13 10:44:18

标签: apache .htaccess

如何使用htaccess为正则表达式创建一个模式,重定向所有传入链接

example.com/test-en/example.com/test/

如果根域名后面的字符串包含后缀-en,如果匹配重定向,则应该过滤掉它。

这里是我想要做的洞穴代码

RewriteCond %{HTTP_HOST} http://www.example.co.uk [NC]
**RewriteRule ^tag/(.*)-en/$ http://www.example.co.uk/$1 [L,R=301]**
RewriteRule ^\d{4}/\d{2}/\d{2}/(.*)$ http://www.example.co.uk/$1 [L,R=301]
RewriteRule ^\d{4}/\d{2}/(.*)$ http://www.example.co.uk/$1 [L,R=301]

3 个答案:

答案 0 :(得分:0)

这应该这样做:

RewriteRule /?test-[a-zA-Z]{2}/ /test/

答案 1 :(得分:0)

试试这个:

RewriteRule ^(.*)-en/?$ /$1/ [L]

答案 2 :(得分:0)

你有规则:

RewriteRule ^tag/(.*)-en/$ http://www.example.co.uk/$1 [L,R=301]

但是您要求在前面没有/tag的重定向。 (对于不同的域),但如果您希望保留标记,则需要在目标中添加该标记:

RewriteRule ^tag/(.*)-en/$ http://www.example.co.uk/tag/$1 [L,R=301]

否则,该规则对我来说非常好。