Tengo el siguiente contenido .htaccess:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^(.*)\.*(.+) RewriteRule ^((?s).*)$ index.php?_uri=/$1&_subdomain=%1&_host=%3 [QSA,L] Quiero obtener el subdomain de la URL (si existe), pero cuando agrego un cuantificador a \. , el resultado de _subdomain es ejemplo.localhost en lugar de ejemplo . La URL completa es ejemplo.localhost . ¿Alguien puede explicarme?
Utilice ^(.*)\.(.+)
Su expresión regular actual está haciendo el . opcional, mientras que debería ser requerido exactamente una vez. Dado que \.* coincide con 0 o más veces, la coincidencia codiciosa de ^(.*) captura todo hasta el último carácter que coincide con (.+)