Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对每个参数使用相同的重写规则_Php_.htaccess - Fatal编程技术网

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

Php 对每个参数使用相同的重写规则,php,.htaccess,Php,.htaccess,我有一个名为dev.php的文件,它有5个参数。这是一个循序渐进的过程,将使用相同的文件,结果将基于每个参数。让我举个例子更清楚地说明一下 http://www.example.com/dev.php?a=1&b=10&c=100&d=1000&e=10000 首先,用户必须选择一个选项,根据该选项他们将被重定向到下一页 我使用这个规则: RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /dev.php

我有一个名为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个参数,我希望重写规则也能使这项工作正常


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

如果RewriteRule的模板与输入的SEO表单URI不完全匹配,则不会进行重写,服务器将尝试加载不存在的
/1/10/100/1000
(以及404)。解决这个问题的一种方法是有5个重写规则,一个参数对应一个,一个参数对应两个,等等。只有一个规则应该匹配。检查最终结果/dev.php。。。不重写任何重写——你可以先放一个匹配,然后两个参数,等等。还考虑在最后一个参数上做一个可选的,因为用户经常输入它。