我试图建立一个更友好的网址系统,但失败惨重。我希望能够传递1或2个get参数,如下所示:
http://website.com/1234/123456
其中,
1234
是第一个参数,123456
是第二个参数。在我的尝试中,apache一直将
/1234/
视为一个文件夹和一个参数。到目前为止,我一直在尝试:RewriteRule ^([^/]*)/([^/]*)$ index.php?id=$1&pa=$2 [L]
和
RewriteRule ^(.*)/(.*)$ index.php?id=$1&pa=$2
RewriteRule ^(.*)$ index.php?id=$1 [L]
最佳答案
你可以这样做:
RewriteEngine On
RewriteRule ^/?index\.php$ - [L]
RewriteRule ^/?(?:([^/]*)(?:/([^/]*)/?)?)?$ /index.php?id=$1&pa=$2 [L]
有点严格和混乱,所以你可以试试:
RewriteEngine On
RewriteRule ^/?index\.php$ - [L]
RewriteRule ^/?(([^/]*)(/?(.*)))?$ /index.php?id=$2&pa=$4 [L]
这将使所有内容都超过最后一个,因此
host.com/123/1233/56
将重写为host.com/index.php?id=123&pa=1233/56
,而第一个不会重写,因为56