2011-10-01 14 views
7

sto usando mod_rewrite per reindirizzare in questo modo:Ignora slash con Apache Rewrite

RewriteRule (work)/?$ $1.php [L]

Questo invia qualsiasi URL che termina con /work o /work/ per work.php

Il problema è che quando un trailing la barra è inclusa, la considera come una directory e non il file che è realmente. Questo, ovviamente, spezza tutti i miei percorsi relativi nel file.

non mi dispiace avere una barra nella URL, ma c'è un modo per utilizzare Apache per ignorare la barra finale, e trattare l'URL, un file, proprio come farebbe senza la barra?

+0

avete una directory "lavoro" ? –

+0

No, solo un file work.php. – cmal

+0

hai qualcos'altro in .htaccess o vhost? –

risposta

11

Dal momento che non si vuole l'URL per assomigliare www.domain.com/work/ ecco cosa si può fare:

RewriteEngine On 
    RewriteRule ^work/$ http://www.domain.com/work%{REQUEST_URI} [R=301,L,NC] 
    RewriteRule (work)$ $1.php [L,QSA,NC] 

Questo reindirizzerà /work/ a /work e /work/?page=main-/work?page=main