我有这个重写规则来访问profile.php?user = username with mysite.com/username ..
问题在于它忽略了我的CSS,即使我使用完整的URL,如果我去常规网址,profile.php?user = username,那就是奇怪的是它是一样的。但如果我删除了我的htaccess文件,那么css就可以了。
RewriteEngine on
RewriteRule (.*) profile.php?user=$1 [QSA,L]
问题出在这里?提前致谢:>
答案 0 :(得分:2)
如果您尝试获取的URL未解析为文件或目录,则可以使用条件仅触发规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) profile.php?user=$1 [QSA,L]
这将停止将foo.css重写为profile.php的请求?user = foo.css
答案 1 :(得分:0)
您的规则将重写任何请求,甚至是您的css文件请求。
你还需要一个像这样的RewriteCond:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) profile.php?user=$1 [QSA,L]
仅当没有与请求匹配的文件时,才会重定向。
答案 2 :(得分:0)
请记住,CSS文件的请求也是一个请求,您的规则正在重写whatever.css
到profile.php?user=whatever.css
的请求