Ich muss umleiten
www.URL.it/directory_one/index.php?param_one=XXX¶m_two=**YYY**
Zu
www.URL.it/newpage.php?param_three=**YYY**
Ich habe alles versucht, was ich online gefunden habe, aber das einzige, was funktioniert, ist die Umleitung von directory_one/index.php ohne Parameter auf newpage.php.
Ich habe diese .htaccess ausprobiert
RewriteCond %{HTTP_HOST} =www.URL.it/directory_one/index.php? [NC]
RewriteCond %{QUERY_STRING} ^(param_one=XXX¶m_two=**YYY**)
RewriteRule ^$ http://www.URL.it/newpage.php?%1 [R=301,L]
nur um zu sehen ob etwas passiert, aber nicht funktioniert
Ich habe auch versucht
RewriteCond %{REQUEST_URI} /directory_one/index\.php
RewriteCond %{QUERY_STRING} param_one=XXX¶m_two=**YYY**
RewriteRule ^(.*)$ http://www.URL.it/test/index.php? [L,R=301]
aber nichts ist passiert
Antwort1
Stellen Sie sicher, dass Sie die AllowOverride
Einstellungen für das Verzeichnis festgelegt haben .htaccess
, in dem es sich befindet. Andernfalls wird es von Apache ignoriert.
Versuche dies:
RewriteCond %{QUERY_STRING} param_one=XXX
RewriteCond %{QUERY_STRING} param_two=([^&]+)
RewriteRule ^/directory_one/index\.php$ http://www.URL.it/newpage.php?param_three=%1 [L,R]
Wenn param_two
es wirklich sein soll YYY
, verwenden Sie dies, da keine Rückverweise erforderlich sind:
RewriteCond %{QUERY_STRING} param_one=XXX
RewriteCond %{QUERY_STRING} param_two=YYY
RewriteRule ^/directory_one/index\.php$ http://www.URL.it/newpage.php?param_three=YYY [L,R]
Wenn keine der oben genannten Maßnahmen funktioniert, hat möglicherweise eine andere Regel Vorrang oder Sie haben die Regeln an der falschen Stelle platziert. Sie sollten das Ganze debuggen mit
RewriteLog /path/to/file.log
RewriteLogLevel 3
Antwort2
RewriteCond %{QUERY_STRING} param_one=XXX
RewriteCond %{QUERY_STRING} param_two=.*YYY.*
rewriteRule (.*) www.URL.it/newpage.php?param_three=%{QUERY_STRING} param_two