Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php 重定向后重写规则永久添加查询字符串

Php 重定向后重写规则永久添加查询字符串,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我用的是这个重写规则,效果很好 RewriteRule ^(.*)-S\.html\??(.*)$ /index.php?mod=home&action=stadt&stadt=$1&$2 [QSA] 它将像/Albersdorf-Holst-S.html这样的URL指向它们的PHP URL参数 现在,我需要重命名其中的一些名称,这就是为什么我想把永久物放在适当的位置。例如,喜欢这个: RedirectPermanent /Albersdorf-Holst-S.html

我用的是这个重写规则,效果很好

RewriteRule ^(.*)-S\.html\??(.*)$ /index.php?mod=home&action=stadt&stadt=$1&$2 [QSA]
它将像/Albersdorf-Holst-S.html这样的URL指向它们的PHP URL参数

现在,我需要重命名其中的一些名称,这就是为什么我想把永久物放在适当的位置。例如,喜欢这个:

RedirectPermanent /Albersdorf-Holst-S.html http://www.gruppenunterkuenfte.de/Albersdorf-Holstein--S.html
我希望,当将重定向永久性放在RewriteRule前面时,它将首先执行,然后将RewriteRule应用于结果

但发生的情况是,地址栏中的URL在重定向后读取:

http://www.gruppenunterkuenfte.de/Albersdorf-Holstein--S.html?mod=home&action=stadt&stadt=Albersdorf-Holst&

为什么要添加查询字符串?为什么只有在我第一次重定向时才会发生这种情况。

使用
重写规则。。。[L,R=301]
而不是
帮助:

RewriteRule ^Albersdorf-Holst-S.html http://www.gruppenunterkuenfte.de/Albersdorf-Holstein--S.html [L,R=301]