Перенос Rewrite правил из htaccess в VirtualHost

M
На сайте с 22.02.2007
Offline
161
870

Потребовалось избавиться от корневого .htaccess, для этого перенес Rewrite правила в VirtualHost, но здесь возникли проблемы.

Использовал эти настройки: http://yiiframework.ru/doc/guide/ru/quickstart.apache-nginx-config

Но в таком варианте, при открытии главной страницы, сервер отдавал 400 bad request

Включил логирование для Rewrite: LogLevel alert rewrite:trace6

И обнаружил в логе следующее:


[Fri*Oct*30*18:55:52.245231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31d8168/initial]*init*rewrite*engine*with*requested*uri*/
[Fri*Oct*30*18:55:52.245231*2015]*[rewrite:trace3]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31d8168/initial]*applying*pattern*'.'*to*uri*'/'
[Fri*Oct*30*18:55:52.245231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31d8168/initial]*RewriteCond:*input='/'*pattern='!-f'*=>*matched
[Fri*Oct*30*18:55:52.245231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31d8168/initial]*RewriteCond:*input='/'*pattern='!-d'*=>*not-matched
[Fri*Oct*30*18:55:52.245231*2015]*[rewrite:trace1]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31d8168/initial]*pass*through*/
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*init*rewrite*engine*with*requested*uri*/index.php
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace3]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*applying*pattern*'.'*to*uri*'/index.php'
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.php'*pattern='!-f'*=>*matched
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.php'*pattern='!-d'*=>*matched
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*rewrite*'/index.php'*->*'index.php'
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*local*path*result:*index.php
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*init*rewrite*engine*with*requested*uri*/index.pl
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace3]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*applying*pattern*'.'*to*uri*'/index.pl'
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.pl'*pattern='!-f'*=>*matched
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.pl'*pattern='!-d'*=>*matched
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*rewrite*'/index.pl'*->*'index.php'
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*local*path*result:*index.php
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*init*rewrite*engine*with*requested*uri*/index.cgi
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace3]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*applying*pattern*'.'*to*uri*'/index.cgi'
[Fri*Oct*30*18:55:52.246231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.cgi'*pattern='!-f'*=>*matched
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.cgi'*pattern='!-d'*=>*matched
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*rewrite*'/index.cgi'*->*'index.php'
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*local*path*result:*index.php
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*init*rewrite*engine*with*requested*uri*/index.asp
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace3]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*applying*pattern*'.'*to*uri*'/index.asp'
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.asp'*pattern='!-f'*=>*matched
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace4]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*RewriteCond:*input='/index.asp'*pattern='!-d'*=>*matched
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*rewrite*'/index.asp'*->*'index.php'
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068][rid#31cc138/subreq]*local*path*result:*index.php
[Fri*Oct*30*18:55:52.247231*2015]*[rewrite:trace2]*[pid*5136:tid*1844]*mod_rewrite.c(475):*[client*127.0.0.1:52986]*127.0.0.1*-*-*[site/sid#12b3068]

Я так, понял, что апач не может найти файл index.php

Задал абсолютный путь до файла: RewriteRule . D:/Programs/xampp/htdocs/yii/site/index.php

Главная загрузилась, но вот вся статика - нет. Из лога я так понял, что она вся пошла через index.php - в логе Yii появилось множество сообщений о 500 ошибках, в которых фигурировали как раз файлы статики.

Подскажите как правильно настроить VirtualHost без htaccess.

Мой конфиг:


<VirtualHost**:80>
DocumentRoot*"D:/Programs/xampp/htdocs/yii/site/"
ServerName*"site"
AddDefaultCharset*UTF-8

RewriteEngine*On
LogLevel*alert*rewrite:trace6

RewriteCond*%{REQUEST_FILENAME}*!-f
RewriteCond*%{REQUEST_FILENAME}*!-d
RewriteRule*.*D:/Programs/xampp/htdocs/yii/site/index.php
</VirtualHost>
Торрент Трекер Катушка - скачать фильмы (http://katushka.net) | SmartProgress - достижение целей (https://smartprogress.do/) Партнерская программа SmartProgress (https://smartprogress.do/affiliate)
LM
На сайте с 18.10.2009
Offline
117
#1

Зачем там звёздочки? оО

https://httpd.apache.org/docs/2.0/misc/rewriteguide.html

# For sites running on a port other than 80
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
M
На сайте с 22.02.2007
Offline
161
#2
LinuxMan:
Зачем там звёздочки? оО

https://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Подскажите, как ваш пример можно перенести на мою ситуацию?

---------- Добавлено 31.10.2015 в 10:28 ----------

Звездочки - это просто не корректно вставился код.


<VirtualHost *:80>
DocumentRoot "D:/Programs/xampp/htdocs/yii/site/"
ServerName "site"
AddDefaultCharset UTF-8

RewriteEngine On
LogLevel alert rewrite:trace6

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . D:/Programs/xampp/htdocs/yii/site/index.php
</VirtualHost>
LM
На сайте с 18.10.2009
Offline
117
#3

Попробуйте такой вариант.

<VirtualHost *:80>

...
<Directory "D:/Programs/xampp/htdocs/yii/site/">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
...
</VirtualHost>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий