Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 在重写状态下重用捕获的组_Apache_Mod Rewrite_Apache2 - Fatal编程技术网

Apache 在重写状态下重用捕获的组

Apache 在重写状态下重用捕获的组,apache,mod-rewrite,apache2,Apache,Mod Rewrite,Apache2,我正在尝试设置一个由2个RewriteCond和一个RewriteRule指令组成的重写。主要目的是将所有请求重定向到css、media和js目录下的对应子域。我很容易实现它使用3个单独的重定向,但我想能够做到这一点,只使用一个 我试过了 RewriteCond %{REQUEST_URI} ^/(css|media|js) RewriteCond %{HTTP_HOST} !^%1\. RewriteRule ^(media|css|js)(/.+)$ http://$1.%{HTTP_HOS

我正在尝试设置一个由2个
RewriteCond
和一个
RewriteRule
指令组成的重写。主要目的是将所有请求重定向到
css
media
js
目录下的对应子域。我很容易实现它使用3个单独的重定向,但我想能够做到这一点,只使用一个

我试过了

RewriteCond %{REQUEST_URI} ^/(css|media|js)
RewriteCond %{HTTP_HOST} !^%1\.
RewriteRule ^(media|css|js)(/.+)$ http://$1.%{HTTP_HOST}/$1$2 [R=302,L]

但是,它似乎不允许在另一个组中使用从第一个
RewriteCond
捕获组

我认为从一个
RewriteCond
到另一个
的反向引用不起作用,但您应该能够做到:

RewriteCond %{REQUEST_URI} ^/css|media|js
RewriteCond %{HTTP_HOST} !^css|media|js\.
RewriteRule ^(media|css|js)(/.+)$ http://$1.%{HTTP_HOST}/$1$2 [R=302,L]

希望能有所帮助

谢谢你的回复。我已经考虑过这样做,但是这允许有人访问
http://css.site.com/media
这是不可取的。