.htaccess RedirectCond使用以前的RewriteCond变量

时间:2018-03-30 03:19:44

标签: apache .htaccess mod-rewrite url-rewriting

好吧,所以我现在已经有一段时间了......但是我对RewriteEngine一直很糟糕,我似乎无法找到这个场景的简单答案。

我试图重写的几个例子(使用通配符子域):

static.example.com/js/test.js => /example.com/js/test.js
static.test.example.com/css/test.css => /test.example.com/css/test.css

但是,我目前正在使用以下代码点击臭名昭着的重定向循环:

RewriteCond %{HTTP_HOST} ^static.(.*)$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

如果我在路径中添加RewriteCond检查特定域,那么它是有效的...例如......

RewriteCond %{HTTP_HOST} ^static.(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^/example.com
RewriteRule ^(.*)$ /%1/$1 [L]

但是,显然,这对万维网领域不起作用......

是否有正确的方法来执行以下操作:

RewriteCond %{HTTP_HOST} ^static.(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^/%1
RewriteRule ^(.*)$ /%1/$1 [L]

它给了我一个500错误,所以我不认为它支持...不幸的是,我使用的服务器并不支持[END]标志,所以我不得不找到解决方法......或者可能做以下事情?

RewriteCond %{HTTP_HOST} ^static.(.*)$ [NC]
RewriteRule !^/%1/(.*)$ /%1/$1 [L]

我承认,那个人的逻辑看起来有点不对......

我不知道在哪里寻找这种情况的答案..任何帮助都将不胜感激!

0 个答案:

没有答案