
Utilizo la siguiente regla de reescritura para pasar la URL completa a un script PHP:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?rewriteUrl=$1 [QSA,L]
En algunos servidores, tengo que usar
RewriteRule ^(.*)$ index.php?rewriteUrl=$1 [QSA,L]
en su lugar ( ?
falta el).
¿Hay alguna manera de hacer que el servidor maneje esto automáticamente? ¿En forma de respaldo/intento de captura o algo como esto?
Respuesta1
Si conoce los diferentes números de versión entre los dos servidores, utiliceversión_modpara hacer esto. Por ejemplo, si 2.3+ usa ?
:
<IfVersion >= 2.3>
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?rewriteUrl=$1 [QSA,L]
</IfVersion>
<IfVersion < 2.3>
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rewriteUrl=$1 [QSA,L]
</IfVersion>
UsarServidorFirmapara que la información de la versión se envíe al cliente.