【问题标题】:.htaccess rewrite rule breaking css.htaccess 重写规则破坏 css
【发布时间】:2012-02-27 13:40:02
【问题描述】:

我还是 .htaccess 的新手

所以我在 stackoverflow 上寻找我的答案,但我找不到它。我的网站有我必须设置的规则,所以我从中得到了我的规则:

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时看到了什么?

标签: php css apache .htaccess mod-rewrite


【解决方案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>元素中的信息。

它对你有用吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-02
    • 2015-12-25
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多