Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Apache2.4-透明重定向到子文件夹_Apache_.htaccess_Redirect_Mod Rewrite - Fatal编程技术网

Apache2.4-透明重定向到子文件夹

Apache2.4-透明重定向到子文件夹,apache,.htaccess,redirect,mod-rewrite,Apache,.htaccess,Redirect,Mod Rewrite,我透明地重定向每个请求HTML、css、js,。。。到我的静态站点所在的子文件夹\u站点 RewriteCond %{REQUEST_URI} !^/_site.* RewriteRule ^(.*)$ _site/$1 [L] 这基本上是可行的。虽然我觉得很奇怪,但我必须使用重写条件来阻止迭代: AH00124:由于可能的配置错误,请求超出了10个内部重定向的限制。如果 毕竟,我在使用,那么,我怎么会以递归结束呢?!? 如果我试图阻止直接访问example.com//u site/favi

我透明地重定向每个请求HTML、css、js,。。。到我的静态站点所在的子文件夹\u站点

RewriteCond %{REQUEST_URI} !^/_site.*
RewriteRule ^(.*)$  _site/$1 [L]
这基本上是可行的。虽然我觉得很奇怪,但我必须使用重写条件来阻止迭代:

AH00124:由于可能的配置错误,请求超出了10个内部重定向的限制。如果

毕竟,我在使用,那么,我怎么会以递归结束呢?!? 如果我试图阻止直接访问example.com//u site/favicon.ico这样的站点文件夹,请在第一行前面加上前缀:

RewriteRule ^_site.* - [R=403,NC,L]
RewriteCond %{REQUEST_URI} !^/_site.*
RewriteRule ^(.*)$  _site/$1 [L]
然后,在合法访问example.com/favicon.ico上,我得到一个403

显然,每个请求都需要另一轮。合法的,然后在“第二轮”匹配禁止的规则。那么,这里怎么了

为什么“last”不代表“last”?有什么变化吗,即在Apache 2.2和2.4之间?因为有很多事情发生了变化。htaccess在那里…

Cough,“last”不代表“last”。它只是指

“现在退出此文件中的重写,忽略其余行”

但这也意味着

·使用新重写的url重新运行整个htaccess

如果你的重写规则太过具体以至于无法触发递归,那么你可能会多年都没有注意到一些事情……即使说实话

所以,各位,快乐递归。为了真正结束一切

…分别在我的扩展版本中:

RewriteRule ^_site.* - [R=403,NC,END]

RewriteCond %{REQUEST_URI} !^/_site.*
RewriteRule ^(.*)$  _site/$1 [END]
结束不痛,但结束意味着我

RewriteRule ^_site.* - [R=403,NC,END]

RewriteCond %{REQUEST_URI} !^/_site.*
RewriteRule ^(.*)$  _site/$1 [END]