.htaccess mod_重写问题

.htaccess mod_重写问题,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我使用这个重写规则访问profile.php?user=username和mysite.com/username 问题是它忽略了我的css,即使我使用完整的URL,奇怪的是,如果我使用常规的URL profile.php?user=username,它也是一样的。但是如果我删除我的htaccess文件,css就会工作 RewriteEngine on RewriteRule (.*) profile.php?user=$1 [QSA,L] 这里有什么问题?提前感谢:>如果您试图获取的URL未解

我使用这个重写规则访问profile.php?user=username和mysite.com/username

问题是它忽略了我的css,即使我使用完整的URL,奇怪的是,如果我使用常规的URL profile.php?user=username,它也是一样的。但是如果我删除我的htaccess文件,css就会工作

RewriteEngine on
RewriteRule (.*) profile.php?user=$1 [QSA,L]

这里有什么问题?提前感谢:>

如果您试图获取的URL未解析为文件或目录,则可以使用条件来触发规则

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) profile.php?user=$1 [QSA,L]

这将阻止对foo.css的请求被重写为profile.php?user=foo.css

您的规则将重写任何请求,甚至是对css文件的请求

您还需要这样的重写条件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) profile.php?user=$1 [QSA,L]

只有在没有与请求匹配的文件时才会重定向。

请记住,对CSS文件的请求也是一个请求,您的规则是将对
whater.CSS的请求重写为
profile.php?user=whater.CSS