我想重写以下内容:
http://www.example.com/map至http://www.example.com/index.php?p=map
和
http://www.example.com/map/1至http://www.example.com/index.php?p=map&id=1
我目前的代码是:
RewriteEngine On
RewriteRule ^([^/]*)\$ /index.php?p=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)\$ /index.php?p=$1&id=$2 [L]
但如果失败......
谁可以帮助我使用正确的.htaccess代码? Thanx提前!
答案 0 :(得分:1)
您需要忽略重写中的真实文件和目录,不要逃避$
。
您可以使用:
RewriteEngine On
# rule to ignore files and directories from all rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/?$ /index.php?p=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?p=$1&id=$2 [L,QSA]