necesito redirigir
www.URL.it/directory_one/index.php?param_one=XXX¶m_two=**YYY**
a
www.URL.it/newpage.php?param_three=**YYY**
Intenté todo lo que encontré en línea, pero lo único que funciona es redirigir directorio_one/index.php a newpage.php sin parámetros.
Probé este .htaccess
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]
solo para ver si pasa algo pero no funciona
lo intenté también
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]
pero no pasó nada
Respuesta1
Asegúrese de haber AllowOverride
configurado el directorio .htaccess
en el que reside o Apache lo ignorará.
Prueba esto:
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]
Si param_two
realmente es así YYY
, use esto ya que no es necesario usar referencias anteriores:
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]
Si nada de lo anterior funciona, es posible que otra regla tenga prioridad o que haya colocado las reglas en el lugar equivocado. Deberías depurar todo con
RewriteLog /path/to/file.log
RewriteLogLevel 3
Respuesta2
RewriteCond %{QUERY_STRING} param_one=XXX
RewriteCond %{QUERY_STRING} param_two=.*YYY.*
rewriteRule (.*) www.URL.it/newpage.php?param_three=%{QUERY_STRING} param_two