Php htaccess第二次重写规则不起作用
我创建了一个网站,并将此代码放在Php htaccess第二次重写规则不起作用,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我创建了一个网站,并将此代码放在.htaccess文件中 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule (.*)$ profile.php?id=$1 [QSA,L] RewriteRule (.*)$ category.php?id=$1 [QSA,L] 现在
.htaccess
文件中
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)$ profile.php?id=$1 [QSA,L]
RewriteRule (.*)$ category.php?id=$1 [QSA,L]
现在,第一个重写规则按预期工作,允许我使用类似site.com/profile
的URL,而不是site.com/profile.php?id=foo..
但是,当我添加第二个规则时,为了获得与上述解决方案相同的结果,页面出现故障,css没有被包括在内。所以,这两者似乎不能写在一起,我不知道解决办法是什么 尝试更改为:
RewriteRule ^profile/(.*)$ profile.php?id=$1 [QSA,L]
RewriteRule ^category/(.*)$ category.php?id=$1 [QSA,L]
如果在两行上都从[QSA,L]中删除“L”是否有效?只是添加了几个斜杠,试试看。仍然不起作用,但我正在尝试解决这个问题。我根本不知道这是什么。你能给我链接一个好的初学者教程吗?刚找到这个,有帮助吗?啊,我看到了。很好的教程,但我正在寻找更简单的:)。安威,谢谢。这对我很有效。问题的关键是(.*)表示“一切”,而[QSA,L]中的“L”表示“如果此规则为真,则停止处理”