vova07 / yii2-start

Yii2-Start application
Other
273 stars 115 forks source link

Может стоит в руководство по установке для Windows-Apache добавить (wampp, xampp) #156

Open keltstr opened 8 years ago

keltstr commented 8 years ago

Устанавливал на Windows 7 Apache2 (xampp 5.6.3, но и на версии 3х летней давности такая же проблема - периодически появляется с различными проектами, например при установке Yupe). Без всех этих изменений сервер упорно выдавал ошибку 500(Internal error) - превышение количества допустимых редиректов Request exceeded the limit of 10 internal redirects

1)

В .htaccess обязательно нужно добавлять директиву RewriteBase(если относительный путь в url не корневой или если директива(правила .htaccess) вызываются перенаправленным запросом из .htaccess из другой папки. например для данной документации где бэкэнд открывается в том же домена по пути /backend

#для backend нужно так:
RewriteEngine On
RewriteBase /backend
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

#для frontend  так:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

#для statics  так:
RewriteEngine On
RewriteBase /statics
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

То же самое касается и всех виртуальных директорий апача на отдельных поддоменах - нужно делать RewriteBase /

2)

Кроме этого пришлось в корневой .htaccess добавить лидирующие слеши в формируемые запросы в RewriteRule

#Backend redirect
RewriteCond %{REQUEST_URI} ^/backend
RewriteRule ^backend/(.*)$ /backend/web/$1 [L]

#Statics redirect
RewriteCond %{REQUEST_URI} ^/statics
RewriteRule ^statics/(.*)$ /statics/web/$1 [L]

#Frontend redirect
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule ^(.*)$ /frontend/web/$1