我可以在第二种情况下使用第一个条件匹配的项目。
前 - :
RewriteCond %{HTTP_HOST} ^(.*).example.com$
RewriteCond %{REQUEST_URI} != (First condition matched item)
更新 -
我的示例htaccess文件
RewriteEngine On
RewriteBase /assets
RewriteCond %{HTTP_HOST} ^(.*).dam.nissanka.com$
RewriteRule ^(.*)$ /assets/%1/dam/collection/a.txt? [L,R=301]
url trying - www.dam.nissanka.com/assets/dam/collection/a.txt
这会以递归方式重定向到www.dam.nissanka.com/www/assets/dam/collection/a.txt。我需要停止递归
答案 0 :(得分:1)
您可以将两个条件合并为一个,并使用对先前捕获的组的反向引用,如下所示:
RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:(?!/\1/).*$
您的.htaccess可以是这样的:
RewriteEngine On
RewriteBase /assets/
RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:/assets/(?!\1/).*$
RewriteRule ^(.*)$ %1/dam/collection/a.txt? [L,R=302]