这一页:
http://test/subdira/subdirb/
有相对链接,例如:
<script type="text/javascript" src="res/ext-base.js"></script>
问题是目录res/
不在其中,/subdira/subdirb/
而是在另一个目录中(/js/ext-3.3.1/cm
)。所以我想知道如何更改 basedir(或者可能是另一种解决方案)。所以如果我尝试这个规则:
RewriteRule ^/$ /js/ext-3.3.1/cm/index.html [QSA,L]
我现在可以像这样调用不带“subdira/subdirb/”的“基本”url:
http://test/
但是...如果我这样做,这个相对链接:
<script type="text/javascript" src="res/ext-base.js"></script>
不再起作用,因为它尝试访问 /res/ext-base.js,而不是好的那个。
知道我该怎么办吗?
答案1
好的,我在这里找到了:
(“在多个目录中搜索页面”部分)
http://httpd.apache.org/docs/2.0/rewrite/rewrite_guide.html
我采取了相反的做法:测试文件是否在子目录中,如果是,则停止并继续:
RewriteCond %{DOCUMENT_ROOT}/js/ext-3.3.1/cm/%{REQUEST_FILENAME} -f
RewriteRule ^(.+) /js/ext-3.3.1/cm/$1 [QSA,L]
RewriteCond %{DOCUMENT_ROOT}/js/ext-3.3.1/cm%{REQUEST_FILENAME} -f
RewriteRule ^(.+) /js/ext-3.3.1/cm$1 [QSA,L]
它有效 \o/