2016-07-23 2 views
0

Мой DocumentRoot является вар/WWW/общественноеmod_rewrite иногда добавляет DocumentRoot путь к URL-адресу

Я следующий файл .htaccess (внутри вар/WWW/общественное):

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] 

Когда Я вхожу, например, http://localhost:8080/en/schedule/, он отлично работает - перенаправляет на URL-адрес без привязки косой черты (http://localhost:8080/en/schedule)

Но есть случаи, когда он не работает хорошо:

http://localhost:8080/en/news/ перенаправляет http://localhost:8080/var/www/public/en/news

+0

ли/ен/Новости существуют? – olegsv

+0

Возможный дубликат [Htaccess: добавить/удалить конечную косую черту из URL] (http://stackoverflow.com/questions/21417263/htaccess-add-remove-trailing-slash-from-url) – olegsv

+0

Да, существует. Я уже решил (см. Мой ответ), спасибо. – komik966

ответ

1

различное поведение для различных ссылок было вызвано кэша веб-браузера.

Новый .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] 
Смежные вопросы