mod rewrite - examples - Con mod_rewrite, ¿puedo especificar RewriteBase dentro de RewriteCond?
redirect on apache2 (1)
Me gustaría que mi archivo .htaccess especifique una RewriteBase diferente dependiendo de si el archivo .htaccess está en mi máquina local o en un servidor web. Este es el código mod_rewrite que probé, sin embargo, no funcionó:
RewriteCond %{HTTP_HOST} ^localhost:8080
RewriteBase /example/
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteBase /
Esto sería útil para previsualizar fácilmente varios sitios web en mi máquina local y luego poder cargar esos sitios a servidores web para nombres de dominio individuales.
La única solución que finalmente encontramos es la siguiente:
# Activation of the URL Rewriting
Options +FollowSymlinks
RewriteEngine On
# RewriteBase equivalent - Production
RewriteCond %{HTTP_HOST} !^localhost$
RewriteRule . - [E=REWRITEBASE:/production/path/]
# RewriteBase equivalent - Development
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule . - [E=REWRITEBASE:/development/path/]
# Rewriting
RewriteRule ^(.*)$ %{ENV:REWRITEBASE}index.php?page=$1 [L]
Este código ofrece una forma de simular diferentes "RewriteBase".