好吧,所以我现在已经有一段时间了......但是我对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]
我承认,那个人的逻辑看起来有点不对......
我不知道在哪里寻找这种情况的答案..任何帮助都将不胜感激!