0

我正在尝试设置一个更友好的 URL 系统并且失败了。我希望能够像这样传递 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]
4

1 回答 1

0

你可以这样做:

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

于 2012-04-27T22:25:04.323 回答