对每个参数使用相同的重写规则

时间:2014-06-04 21:49:50

标签: php .htaccess

我有一个名为dev.php的文件,它有5个参数。它是一步一步的过程,其中将使用相同的文件,结果将基于每个参数。让我更清楚一个例子。

http://www.example.com/dev.php?a=1&b=10&c=100&d=1000&e=10000

首先,用户必须根据选项重定向到下一页。

我正在使用此规则:

RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /dev.php?a=$1&b=$2&c=$3&d=$4&e=$5 [L]

当查询中存在所有五个参数时,它可以正常工作,但当有1-4个参数时会抛出404错误。即使传递了1个参数,我也希望重写规则能够正常工作。

抱歉这个奇怪的标题。我不知道我应该以什么方式提出这个问题。

1 个答案:

答案 0 :(得分:0)

如果RewriteRule的模板与输入的SEO表单URI不完全匹配,则不会重写,服务器将尝试加载不存在的/1/10/100/1000(因此404) 。修复它的一种方法是有5个RewriteRules,一个给出一个参数,一个给两个,等等。只有其中一个应该匹配。检查最终结果/dev.php ...是否没有重复任何重写 - 你可能先将单个匹配,然后是两个参数等。另外考虑在最后一个参数上设置一个可选的/,因为用户通常会输入。