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/" />

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...