这是.htaccess
的mod_rewrite部分:
RewriteEngine on
RewriteBase /
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ web/$2?w=$1 [QSA]
如果有人访问http://example.com/webname/,这样做是什么 真正处理的URL是 http://example.com/web/index.php?w=id
现在,如果我尝试将一个额外的随机 GET 参数传递给我重写的网址,则会忽略该参数。所以,如果我尝试访问这里:
index.php?page=page_id
忽略参数page
。它似乎根本没有通过。
可以解决这个问题吗?如果是这样,怎么样?
答案 0 :(得分:0)
您应该使用此规则:
RewriteEngine on
RewriteBase /
RewriteRule ^([\w-]+)/?$ web/index.php?w=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/([\w.-]+)/?$ web/$2?$1=1 [QSA,L]
这将允许您使用漂亮的URL作为:
http://example.com/welcome
http://example.com/welcome?page=page_id