Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 获取参数的Apache.htaccess正则表达式_Php_Regex_Apache_.htaccess - Fatal编程技术网

Php 获取参数的Apache.htaccess正则表达式

Php 获取参数的Apache.htaccess正则表达式,php,regex,apache,.htaccess,Php,Regex,Apache,.htaccess,我在.htaccess中有类似的规则 重写规则^news/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$?名称=$4,年份=$1,月份=$2,天数=$3 范例 现在,我需要在后面添加额外的参数,使其看起来像 我希望获得源代码值,我尝试了以下操作: 重写规则^news/([0-9]+)/([0-9]+)/([0-9]+)/([^/]*)/\?source=(.*)$/?name=$4&year=$1&monthnum=$2&day=$3&source=$5 但它不起作用。有

我在.htaccess中有类似的规则

重写规则^news/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$?名称=$4,年份=$1,月份=$2,天数=$3

范例

现在,我需要在后面添加额外的参数,使其看起来像

我希望获得
源代码
值,我尝试了以下操作:

重写规则^news/([0-9]+)/([0-9]+)/([0-9]+)/([^/]*)/\?source=(.*)$/?name=$4&year=$1&monthnum=$2&day=$3&source=$5

但它不起作用。有什么建议吗

谢谢。

试试看

RewriteRule ^news/([0-9]+)/([0-9]+)/([0-9]+)/([^/]*)/\?$ /?name=$4&year=$1&monthnum=$2&day=$3&source=$5
当您获得源值时。。。。。只用

$SrcVal = str_replace('source=','',$_GET['source']);

我自己没试过,你能试一下吗

RewriteRule ^news/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /?name=$4&year=$1&monthnum=$2&day=$3 [QSA]
[QSA]查询字符串附加标志将保留现有查询字符串。那么您的查询字符串

应该转换成

/?source=email&name=$4&year=$1&monthnum=$2&day=$3

请试一试。

您无法访问这样的get参数,因为它们根本不是您匹配正则表达式的模式的一部分。请看一看关于重写模块的优秀文档,这里有详细的解释:感谢您提供的文档链接,我之前就尝试过这个。但是GET参数与regex完全不匹配。感谢您的回答=]