如果请求是通过相对路径发出的,Apache 不会捕获以下 .htaccess 规则。
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(.*)/?$ index.php?var=$1 [NC,L]
例如,如果发送给客户端的 HTML 包括:
<link href="CSS/main.css" rel="stylesheet" type="text/css" />
Apache 将跳过该规则。但是,如果 HTML 包括:
<link href="http://host.com/CSS/main.css" rel="stylesheet" type="text/css" />
它工作得很好。
例如 CSS 文件中的相对路径也是如此,例如:
background-image:url(../images/image.png);
也就是说,如果请求的 CSS 已首先使用完整路径名请求。
这怎么可能?