2009-07-09 13 views
6

que tienen la siguiente regla en mi archivo .htaccess actual para redirigir las peticiones a /videos/login//videos/login.phphtaccess rule para reenviar/iniciar sesión/y/iniciar sesión en la misma página?

RewriteRule login/ /videos/login.php 

Esto funciona bien si estoy página de acceso de inicio de sesión utilizando http://mysite.com/videos/login/ pero cuando estoy tratando de acceder a la misma página utilizando http://mysite.com/videos/login (sin finalizar la barra) me da el error "404 página no encontrada".

Por favor, dígame cuál será la regla correcta del archivo .htaccess para que cualquier solicitud de http://mysite.com/videos/login/ o http://mysite.com/videos/login apunte a la misma página /videos/login.php.

Gracias

Respuesta

13

Sólo hacer la barra final opcional:

RewriteRule ^videos/login/?$ /videos/login.php 

pero debería utilizar mejor sólo una variante (con o sin barra final) y redirigir una a la otra:

# add trailing slash 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .*[^/]$ /$0/ [L,R=301] 

# remove trailing slash 
RewriteRule (.*)/$ /$1 [L,R=301] 
+0

@Gumbo su regla está funcionando bien, está abriendo la misma página con y sin barra, pero quiero que cuando alguien acceda a/videos/login, será redireccionado a/videos/login/¿es posible usar htaccess? – Prashant

+0

Acabo de mencionar ambas opciones. Si quieres la barra al final, solo usa la anterior. – Gumbo

+0

Pero la barra inclinada #add agregará barras a todas mis URL, lo que no quiero, hay algunas URL seleccionadas para las que quiero esta facilidad – Prashant

1

Usando mod_rewrite

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/videos/login/?$ 
RewriteRule (.*) /videos/login.php [L,R=301] 
0
redirect 301 /videos/login/index.html http://yoursite.com/videos/login.php 

The server will change the address http://mysite.com/videos/login/ and http://mysite.com/videos/login both to http://mysite.com/videos/login/index.html, based on the configuration but this is default. Before it encounters a 404 this address is redirected to the new one. At least this works at my site.

tenido que utilizar pre porque el sitio me permite un solo puesto de hipervínculo:/

2

Este trabajo fino para mí:

RewriteRule^inicio de sesión (/ |) $ /videos/login.php

Cuestiones relacionadas