我正在使用Apache mod_rewrite在PHP应用程序中重写我的网址.
我的应用程序根目录中有一个login.php.
我在.htaccess文件中写了以下几行(我正在使用HTML5样板文件的htaccess):
RewriteEngine On
RewriteRule ^signin/?$ login.php
在名称^ signin /?$的末尾添加斜杠破坏了此页面的所有CSS链接.
我正在使用CSS的相对链接,例如:
我对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使用绝对路径,例如
否则,您可以在< head>页面的HTML部分:
标签:htaccess,php,css,apache,mod-rewrite
来源: https://codeday.me/bug/20191011/1891955.html