.htaccess - rewritecond - reescribir url htaccess
.htaccess redirigir sin cambiar la barra de direcciones (1)
Si está utilizando la marca R
, le está diciendo a mod_rewrite
que un redireccionamiento externo es lo que desea, por lo tanto, se le solicita al navegador que realice una nueva solicitud y la barra de direcciones debe cambiar en consecuencia.
Sin el indicador R
, no hay redireccionamiento, sino una reescritura de solicitud interna de Apache que se oculta del navegador. Por lo tanto, la barra de direcciones no cambiará. Sin embargo, no puede usar redireccionamientos internos a URI externos por razones obvias.
Ya que parece que utilizas una redirección interna de todos modos, simplemente elimina la marca R
y debería funcionar:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+)$ ?url=$1 [L]
Estoy tratando de escribir una regla .htaccess
para redirigir a una secuencia de comandos, que redirige aún más en otro lugar. Algo así como cómo funcionan los acortadores de URL. Sin embargo, no quiero que la barra de direcciones cambie durante la parte .htaccess
de la redirección. (Está bien que la redirección del script cambie la ubicación).
Estoy usando mod_rewrite
, actualmente haciendo esto:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /
RewriteRule (.+)$ "?url=$1" [L,R=301]
¿Hay una bandera u otro método que pueda usar para lograr lo que estoy tratando de hacer?
Addenda : La barra de ubicación no cambia en Firefox cuando se producen las redirecciones, que es lo que quiero hacer. Simplemente cambia una vez para reflejar el punto final. Safari lo cambia a cada paso . ¿Alguna forma de evitar eso?