.htaccess 重写规则破坏 css
Posted
技术标签:
【中文标题】.htaccess 重写规则破坏 css【英文标题】:.htaccess rewrite rule breaking css 【发布时间】:2012-02-27 13:40:02 【问题描述】:我还是 .htaccess 的新手
所以我在 *** 上寻找我的答案,但我找不到它。我的网站有我必须设置的规则,所以我从中得到了我的规则:
SEO Friendly URL to Dynamic URL using php
RewriteEngine on
RewriteBase /
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php?request=$1 [QSA,L]
但由于某种原因,我的 css 坏了,但我的 php 很好
示例网址:
http://www.domain.com/aboutme
http://www.domain.com/css/version.css
【问题讨论】:
你能把你的.htaccess文件的内容贴出来。此外,您的 .css 文件是否在 html 中具有相对路径,例如../css/somefile.css
?
“但由于某种原因,我的 css 坏了,但我的 php 很好” --- 并且“你的”规则很糟糕......关于你所拥有的任何 真实 细节你看到了什么? PS:这第百万次证明,在不了解您所做的事情的情况下复制粘贴不是程序员应该做的事情
你想用 PHP 来处理你的 CSS 吗?
@Joanna Lancaster:如果是这样 - 那么您所展示的规则不能导致您遇到的问题,根据定义
请求domain.com/css/version.css时看到了什么?
【参考方案1】:
问题是由于大写的文件名Version.css
。
如果你的 devbox 是 windows,它会工作。 Windows 不区分大小写。 但是当你在服务器(Unix)上测试它时,它会坏掉。 因为Unix区分大小写
最好将Version.css
重命名为version.css
。它对未来是安全的
【讨论】:
重写规则不影响对现有文件和文件夹的引用,基于两个RewriteCond
规则。
澄清一下 - 这个想法是我的,如果你打勾就不公平了
@zerkms 是的,但是附加信息,它是我提取的。 :P
似乎很高兴 OP 完成了她的工作,所以我删除了我的答案并 +1 你的,祝你好运 ;-)
@zerkms 所有聊天都在静脉中(叹气)【参考方案2】:
我对这个问题有一个超级答案。我一直在到处寻找一个简单的解决方案,它不会让我为我的所有相对路径(如 imgs、css、javascript...
就这样吧,在你遇到问题的页面的<head>
标签之间添加这个:
<base href='http://www.mydomain.com/'>
这将使您的相对路径链接将以该基本链接开头。就这么简单。
<base>
标记指定文档中所有相对 URL 的基本 URL/目标。将<base>
标签作为第一个元素放在<head>
元素中,这样head部分的其他元素就可以使用<base>
元素中的信息。
它对你有用吗?
【讨论】:
以上是关于.htaccess 重写规则破坏 css的主要内容,如果未能解决你的问题,请参考以下文章