.htaccess 多重重写条件 - 在第二个条件中使用第一个条件匹配的部分

.htaccess multiple rewrite condtion - using first condition matched parts in second condition

我可以在第二个条件中使用第一个条件匹配项吗?

例 -:

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 尝试 - www.dam.nissanka.com/assets/dam/collection/a.txt

这递归地重定向到 www.dam.nissanka.com/www/assets/dam/collection/a.txt。我需要停止递归

您可以将这两个条件合二为一,并像这样使用对早期捕获组的反向引用:

RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:(?!//).*$

你的.htaccess可以是这样的:

RewriteEngine On
RewriteBase /assets/

RewriteCond %{HTTP_HOST}:%{REQUEST_URI} ^([^.]+)\.[^:]+:/assets/(?!/).*$
RewriteRule ^(.*)$ %1/dam/collection/a.txt? [L,R=302]