2016-07-23 13 views
0

Meine DocumentRoot zu url ist var/www/publicmod_rewrite fügt irgendwann DocumentRoot Weg

Ich habe folgende .htaccess-Datei (innen var/www/public):

SetEnv APPLICATION_ENV development 
RewriteEngine On 

RewriteRule ^(.*)/$ $1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^.*$ index.php [NC,L] 

Wenn Ich gebe zum Beispiel http://localhost:8080/en/schedule/ es funktioniert gut - leitet auf url ohne Schrägstrich (http://localhost:8080/en/schedule)

Aber es gibt Fälle, wenn es nicht gut funktioniert:

http://localhost:8080/en/news/ Umleitungen an http://localhost:8080/var/www/public/en/news

+0

Does/en/news existieren? – olegsv

+0

Mögliches Duplikat von [Htaccess: Hinzufügen/Entfernen eines Schrägstrichs von der URL] (http://stackoverflow.com/questions/21417263/htaccess-add-remove-trailing-slash-from-url) – olegsv

+0

Ja, existiert. Ich habe es schon gelöst (siehe meine Antwort), danke. – komik966

Antwort

1

Unterschiedliches Verhalten für verschiedene Links von Web-Browser-Cache verursacht wurde.

New .htaccess:

SetEnv APPLICATION_ENV development 
RewriteEngine On 

RewriteCond %{REQUEST_URI} ^(.*)/$ 
RewriteRule ^(.*)/$ %1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^.*$ index.php [NC,L]