htaccess directoryindex重定向寻找css错误的地方
Posted
技术标签:
【中文标题】htaccess directoryindex重定向寻找css错误的地方【英文标题】:htaccess directoryindex redirect looking for css wrong place 【发布时间】:2013-03-09 21:20:01 【问题描述】:您好,在我的 htaccesss 文件中,我将这段代码放入以确保我的目录索引文件设置为
v2013/index.html
所以我把这段代码
DirectoryIndex v2013/index.html
然后我希望它看起来像 mydomain.com/Welcome,所以我添加..
RewriteEngine On
RewriteRule ^Welcome$ v2013/index.html [L]
我的问题是为什么 DirectoryIndex 不再工作.. 我如何告诉浏览器在 v2013 中查找 css,因为正在查找根目录。 (我认为是因为重写)所以我的页面没有风格.. =(
换句话说就是寻找 www.domain.com/css/sheet.css 的 insted
www.domain.com/v2013/css/sheet.css
答案在这里:
最终代码
DirectoryIndex v2013/index.html
RewriteEngine On
# exclude files already asking for v2013
RewriteCond %REQUEST_URI !^/v2013/
RewriteRule ^css/.*$ /v2013/$0
RewriteRule ^js/.*$ /v2013/$0
RewriteRule ^images/.*$ /v2013/$0
RewriteRule ^Bienvenido$ v2013/index.html [L]
【问题讨论】:
【参考方案1】:您可以添加一个额外的RewriteRule
,它也会重写css/
、js/
和images/
文件
# exclude files already asking for v2013
RewriteCond %REQUEST_URI !^/v2013/
RewriteRule ^(?:css|images|js)/.*$ /v2013/$0
【讨论】:
嘿,谢谢!!你几乎明白了!...但我需要同样的调用图像。我必须为每个文件夹做同样的事情吗?编辑(是的,它有效)【参考方案2】:在你使用 css 文件的地方不要输入“css/style.css”,而是写“/css/style.css”。添加 / 会将您带到根目录。 html 应如下所示:
<link href="/v2013/css/style.css" rel"stylesheet" type="text/css" />
【讨论】:
你可能错过了这一点......此时正在寻找 www.domain.com/css/sheet.css 如果我把 /css/ 不打算看 www.domain.com /v2013/css/sheet 另外,如果您访问 domain.com/v2013/index.html 我的页面看起来很棒,这是 htaccess 中的一个问题,因此我可以在 domain.com/welcome 上显示我的页面以上是关于htaccess directoryindex重定向寻找css错误的地方的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess RewriteRule .php扩展冲突
htaccess 从 Basic Auth 中排除一个 url
.htaccess 规则将图像文件的直接视图重定向到页面,图像作为查询字符串传递