我页面上的所有内容都有效,但非现有页面被识别为参数,并显示带有页眉和页脚的页面。
ErrorDocument 404 /error
ErrorDocument 403 /error
ErrorDocument 500 /error
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php?v=$1 [L,QSA]
RewriteRule ^(.*)-(.*)-(.*)$ index.php?v=$1&page=$2&folder=$3 [L,QSA]
当我尝试打开mydomain.com/non-existing-page而不是"非现有页面"被识别为参数$ v并且页面mydomain.com/index.php$v=non-existing-page仅使用页眉页脚而没有内容打开。
答案 0 :(得分:1)
您可以使用.*
更改[^/-]+
,以便只允许index.php
处理单个参数(非斜杠+非连字符)。
您可以使用以下规则:
ErrorDocument 404 /error
ErrorDocument 403 /error
ErrorDocument 500 /error
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)-([^/]+)-([^/]+)/?$ index.php?v=$1&page=$2&folder=$3 [L,QSA]