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
我假设我做错了什么。我一直在玩它一个小时,但与你的两个例子,它仍然看到第一个参数作为一个文件夹和参数。 – prattw 2012-04-30 19:13:36
@prattw可能是因为'index.php?id = $ 1',您可能想要添加'/',以便将它从网站的文档根目录中取出,而不是从它认为自己的位置拉出位于。不知道这是否是问题,但尝试一下。 – craniumonempty 2012-05-08 20:03:58