2009-07-09 15 views
6

Ho la seguente regola nel mio file .htaccess corrente per reindirizzare le richieste di /videos/login//videos/login.phphtaccess rule to forward/login/e/login alla stessa pagina?

RewriteRule login/ /videos/login.php 

Questo funziona bene se sono pagina di login di accesso utilizzando http://mysite.com/videos/login/ ma quando sto cercando di accedere alla stessa pagina utilizzando http://mysite.com/videos/login (senza terminare la barra) quindi mi dà l'errore "404 pagina non trovata".

Per favore dimmi quale sarà la regola corretta del file .htaccess in modo che qualsiasi richiesta di http://mysite.com/videos/login/ o http://mysite.com/videos/login punterà alla stessa pagina /videos/login.php.

Grazie

risposta

13

Basta fare la barra finale facoltativa:

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

Ma si dovrebbe meglio utilizzare solo una variante (con o senza slash) e reindirizzare l'uno all'altro:

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

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

@Gumbo la tua regola sta funzionando bene, sta aprendo la stessa pagina con e senza barra, ma voglio che quando qualcuno accederà al/videos/login allora verrà reindirizzato a/videos/login/è possibile usando htaccess. – Prashant

+0

Ho appena menzionato entrambe le opzioni. Se vuoi la barra finale, usa solo la prima. – Gumbo

+0

Ma #add la barra finale aggiungerà le barre a tutti i miei URL, che non voglio, ci sono alcuni URL selezionati per i quali voglio questa funzione – Prashant

1

Utilizzo di 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.

dovuto usare pre perché il sito cerchiamo di me Post solo un collegamento ipertestuale:/

2

Questo bel lavoro per me:

RewriteRule^login (/ |) $ /videos/login.php

Problemi correlati