微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-URL重写在末尾添加斜杠会破坏我的css链接

我正在使用Apache mod_rewrite在PHP应用程序中重写我的网址.
我的应用程序根目录中有一个login.PHP.
我在.htaccess文件中写了以下几行(我正在使用HTML5样板文件的htaccess):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule  ^signin/?$ login.PHP
</IfModule>

名称^ signin /?$的末尾添加斜杠破坏了此页面的所有CSS链接.

我正在使用CSS的相对链接,例如:

<link href="css/bootstrap-reset.css" rel="stylesheet">

我对URL重写和htaccess知识很陌生,因为我正在学习所有这些知识,所以我想知道为什么会发生这种行为?

解决方法:

一种方法是拥有一个新的重定向规则来删除尾部的斜杠,然后您的css / js不会成为问题:

RewriteEngine On
RewriteBase /apx/

# remove trailing slash from non-directories
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/$$1 [NE,R=302,L]

RewriteRule ^signin/?$login.PHP [L,NC]

但是也请考虑为CSS / JS使用绝对路径,例如

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

否则,您可以在< head>页面的HTML部分:

<base href="/apx/" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐