Buenas tardes,
Tengo la siguiente estructura de carpetas y archivos:
Código:
public_html/.htaccess
public_html/index.php
public_html/zzz/index.php
public_html/zzz/pagina.php
public_html/subzzz/index.php
public_html/subzzz/subpagina.php
Tengo el siguiente .htaccess:
Código:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.dominio\.com$ [NC]
RewriteRule ^(.*)$ "http\:\/\/dominio\.com\/$1" [R=301,L]
RewriteCond %{REQUEST_URI} !^/zzz/
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} ^(.+).dominio.com
RewriteRule .* /zzz%{REQUEST_URI}?s=%1 [QSA,L]
Y hago las siguientes pruebas con los siguientes resultados (verde OK, rojo No OK):
http://subdominio.domino.com/?a=b (funciona, me lleva a index.php dentro de zzz con dos variables $_GET)
http://subdominio.domino.com?a=b (funciona, me lleva a index.php dentro de zzz con dos variables $_GET)
http://subdominio.domino.com/ (funciona, me lleva a index.php dentro de zzz con 1 variable $_GET)
http://subdominio.domino.com (funciona, me lleva a index.php dentro de zzz con 1 variable $_GET)
http://subdominio.domino.com/pagina.php (funciona, me lleva a pagina.php dentro de zzz con 1 variable $_GET)
http://subdominio.domino.com/pagina.php?a=b (funciona, me lleva a pagina.php dentro de zzz con 2 variables $_GET) http://subdominio.domino.com/subzzz (más o menos, me lleva a index.php dentro de zzz/subzzz con 1 variable pero sobreescribe la URL) http://subdominio.domino.com/subzzz/ (funciona, me lleva a index.php dentro de zzz/subzzz con 1 variable) http://subdominio.domino.com/subzzz?a=b (más o menos, me lleva a index.php dentro de zzz/subzzz con 2 variables pero sobreescribe la URL) http://subdominio.domino.com/subzzz/?a=b (funciona, me lleva a index.php dentro de zzz/subzzz con 2 variables) http://subdominio.domino.com/subzzz/subpagina.php (funciona, me lleva a subpagina.php dentro de zzz/subzzz con 1 variable)
http://subdominio.domino.com/subzzz/subpagina.php?a=b (funciona, me lleva a subpagina.php dentro de zzz/subzzz con 2 variables)
El problema está cuando intento acceder al subdirectorio de zzz y no entro con la barra ("/") final.
El resultado es el siguiente:
1. Entrando con URL
http://subdominio.dominio.com/subzzz el navegador me muestra la URL
http://subdominio.dominio.com/subzzz/?&s=subdominio y visualizando el array $_SERVER me encuentro con lo siguiente:
Código PHP:
[REDIRECT_QUERY_STRING] => s=subdominio&&s=subdominio
[REDIRECT_URL] => /subzzz/
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => s=subdominio&&s=subdominio
[REQUEST_URI] => /subzzz/?&s=subdominio
[SCRIPT_NAME] => /zzz/subzzz/index.php
[PHP_SELF] => /zzz/subzzz/index.php
1. Entrando con URL
http://subdominio.dominio.com/subzzz?a=b el navegador me muestra la URL
http://subdominio.dominio.com/subzzz/?s=subdominio&a=b y visualizando el array $_SERVER me encuentro con lo siguiente:
Código PHP:
[REDIRECT_QUERY_STRING] => s=subdominio&s=subdominio&a=b
[REDIRECT_URL] => /subzzz/
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => s=subdominio&s=subdominio&a=b
[REQUEST_URI] => /subzzz/?s=subdominio&a=b
[SCRIPT_NAME] => /zzz/subzzz/index.php
[PHP_SELF] => /zzz/subzzz/index.php
Creo que el problema está en algún tipo de redirección o algo, por lo de tener repetida la variable $_GET "s"
Gracias!