朋友们,让php文件打开友好的URL内容的正确方法是什么?
如果我只使用:
,我当前的代码可以正常工作Options +FollowSymLinks
RewriteEngine On
# SEO URL Settings
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ post.php?id=$1 [QSA,L]
但是我的类别也需要友好的URL,所以我尝试添加:
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ cat.php?cat=$1 [QSA,L]
但这样做只会打开帖子URL,但类别链接会重定向回index.php,但是如果你删除了post的重写而不是cat.php内容显示。
如果有人能帮到我,我真的很感激你的善意。
答案 0 :(得分:0)
这是因为您使用了[L]
标志。
[L]标志使mod_rewrite停止处理规则集。在 大多数情况下,这意味着如果规则匹配,则没有进一步的规则 将被处理。这对应于Perl中的最后一个命令,或 C中的break命令。使用此标志指示当前 应立即应用规则而不考虑进一步的规则。
相反,请尝试按照以下规则制定规则:
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ post.php?id=$1 [QSA]
RewriteRule ^(.*)$ cat.php?cat=$1 [QSA,L]