php - .htaccess 不包括重写 css 和图像

标签 php css image .htaccess mod-rewrite

我在重写 URL-s 时遇到了一些问题

我的 .htacces 文件:

RewriteEngine On
RewriteBase /bsc/
RewriteRule ^(.+/?)$ index.php?url=$1 [NC,QSA,L]

我的文件和文件夹结构:

bsc/
---|.htaccess
---|index.php
---|css/
-------|style.css
---|images/
----------|logo.png
----------|image1.jpg
----------|image2.jpg
---|controller/
--------------|bootstrap.php
...

当我有下一个链接时

localhost/bsc/page.html

我的 CSS 可以工作,否则我可以开始工作。 但是当我有下一个链接时:

localhost/bsc/page/subpage.html
localhost/bsc/page/subpage/subsubpage.html
localhost/bsc/page/subpage/subsubpage/subsubsubpage.html

我无法让 css 工作,css 被重定向到

localhost/bsc/page/css/style.css
localhost/bsc/page/subpage/css/style.css
localhost/bsc/page/subpage/subsubpage/css/style.css

问题的第二部分是我的链接没有相同的扩展名或任何扩展名。 接下来的情况是可能的:

localhost/bsc/page/subpage
localhost/bsc/page/subpage/
localhost/bsc/page/subpage.php
localhost/bsc/page/subpage.html
localhost/bsc/page/subpage/subsubpage
localhost/bsc/page/subpage/subsubpage/
localhost/bsc/page/subpage/subsubpage.php
localhost/bsc/page/subpage/subsubpage.html
...

现在定义的重写规则适用于不同的链接,但是如何为 css 和图像添加排除规则?


我得到下一个 .htaccess,它适用于我所有的条件:

RewriteEngine On
RewriteBase /bsc/
RewriteCond %{REQUEST_FILENAME} !\.css
RewriteRule ^(.+/?)$ index.php?url=$1 [NC,QSA,L]

在阅读评论和一段时间后,我得到了下一个 .htaccess 文件,结果还不错:

RewriteEngine On
RewriteBase /bsc/
RewriteRule ^(.+/?)?(/|\.htm|\.php|\.html|/[^.]*)$ index.php?url=$1 [NC,QSA,L]

我的链接标签是:

<link rel="stylesheet" type="text/css" href="/bsc/css/style.css" />

现在,当我无法获得正确的 URL 请求时,它只是 URL 中的一种情况。下一个 URL 没有收到最后一个参数:

localhost/bsc/page/subpage
localhost/bsc/page/subpage/subsubpage

我没有收到subpagesubsubpage,其他条件正常。在这种情况下,apache 和 .htaccess 托盘用于查找文件或文件夹....

是否可以添加缺失条件,或者是否可以制定一些最简单的重写规则或更多规则

最佳答案

你可能只需要为你的 css 使用一个绝对 url,

<link rel="stylesheet" type="text/css" href="/css/style.css">

代替

<link rel="stylesheet" type="text/css" href="css/style.css">

将斜杠放在前面会强制它位于 url 的“根”,从而使其在整个子页面中保持一致。

关于php - .htaccess 不包括重写 css 和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864821/

相关文章:

css - 在 CSS 中使用 "target"时显示所有内部 block

javascript - 如何使用淡入淡出更改背景图像

php - Symfony2/Doctrine2 Oracle 游标问题

PHP AJAX 排序数组无需重新加载页面

php - 如何使用 PHP 获取网站的调色板?

jquery - 如何在jquery菜单中隐藏子菜单

css - Joomla 中的内联 CSS

performance - 大尺寸 png 图像与大文件大小 png 图像之间的 iOS 性能差异

java - 如何将高清图像缩小为标清图像?

php - 使 .htaccess 使用前端 Controller 重写对/web 的所有请求?