htaccess的积极前瞻

时间:2012-11-16 14:57:17

标签: regex .htaccess

我想在domain.nl之后输入不包含domain.nl/nl的网址时,从nl重定向到/ 这是我的.htaccess

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^domain\.nl/(?!nl).*$ [NC]
RewriteRule ^(.*)$ http://domain.nl/nl [L,R=301]

不管怎么说,即使放入domain.nl/nl它总是匹配,所以我最终会进入无限循环的重定向。

2 个答案:

答案 0 :(得分:1)

为什么不反转完整条件并检查案例“not(匹配domain.nl并匹配domain.nl/nl)”,如下所示:

RewriteCond %{HTTP_HOST} ^domain\.nl [NC] # if the host matches domain.nl
RewriteCond %{HTTP_HOST}%{REQUEST_URI} !^domain\.nl/nl [NC] # but the full url is not matches domain.nl/nl
RewriteRule ^ http://domain.nl/nl [L,R=301] # redirect

答案 1 :(得分:-1)

RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^domain\.nl/?(?!/?nl)$ [NC]
RewriteRule ^(.*)$ http://domain.nl/nl [L,R=301]