htaccess两个参数的mod重写问题

问题描述:

我试图建立一个更友好的URL系统,并失败悲惨。我希望能够通过1个或2 GET参数是这样的:htaccess两个参数的mod重写问题

http://website.com/1234/123456 

其中1234是第一个参数和123456是第二PARAM。

在我尝试阿帕奇不断观察/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] 

这将采取everythi ng过去的最后host.com/123/1233/56将重写为host.com/index.php?id=123&pa=1233/56,而第一个将不会重写它,因为56

+0

我假设我做错了什么。我一直在玩它一个小时,但与你的两个例子,它仍然看到第一个参数作为一个文件夹和参数。 – prattw 2012-04-30 19:13:36

+0

@prattw可能是因为'index.php?id = $ 1',您可能想要添加'/',以便将它从网站的文档根目录中取出,而不是从它认为自己的位置拉出位于。不知道这是否是问题,但尝试一下。 – craniumonempty 2012-05-08 20:03:58