2013-02-08 37 views
0

我知道有很多这样的问题,但我真的不能找到一个我可以转化为我所需要的:ModRewrite尼斯URL

我试图改写

www.domain.com/subfolder/index.php?p=test.php&condition=true&another=false 

www.domain.com/subfolder/p/test/condition/true/another/false 

在PHP GET变量面包车是整数,字符串或布尔值。 p变量是特殊的,并且将永远在那里。

我已经试过

RewriteEngine On 
RewriteRule ^([^/]*)$ /subfolder/index.php?p=$1 [L] 

为解决部分问题,但我不能让它工作(我只是得到404)

我是一个国防部重写小白,所以任何帮助将不胜感激。

回答

0

这与正则表达式有更多关系。如果内存提供服务,则需要如下内容:

RewriteRule ^/subfolder/(.*)/(.*)/$ /subfolder/index.php?p=$1&condition=$2 [L] 

每个编号的参数必须对应于重写的第一部分的某个部分。也就是说,$ 1对应于第一个(。*)

我没有时间去测试这个,但这个想法或多或少是正确的。

+0

谢谢,我已经试过了,它不能工作。我不确定是否这是因为它被重写为本质上是服务器查找的文件名test.php,而不是传递给index.php。我确定ModRewrite在这台服务器上工作,因为我在同一台服务器上安装了一个WordPress,可以正常工作。 – AngusP 2013-02-09 11:29:57