加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:09:17 所属栏目:PHP教程 来源:网络整理
导读:我在重写URL时遇到了一些问题 我的.htacces文件: RewriteEngine OnRewriteBase /bsc/RewriteRule ^(.+/?)$index.php?url=$1 [NC,QSA,L] 我的文件和文件夹结构: bsc/---|.htaccess---|index.php---|css/-------|style.css---|images/----------|logo.png---
我在重写URL时遇到了一些问题

我的.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适用于所有条件的css:

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

阅读评论后有一段时间我得到了下一个.htaccess文件并没有那么糟糕的结果:

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

和我的链接标签是:

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

现在,当我无法获得正确的URL请求时,URL中只有一个条件.下一个URL不接收最后一个参数:

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

我没有收到子页面或子页面,其他条件正在运行.在这种情况下apache和.htaccess托盘来查找文件或文件夹….

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

解决方法

您可能只需要为您使用绝对网址,

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

代替

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

在前面放一个斜线迫使它到网址的“根”,从而使其在整个子页面中保持一致.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读