перенаправление apache2 vhost - PullRequest
0 голосов
/ 11 мая 2011

Я определил разные хосты в моем файле хоста Windows, по одному для каждой версии проекта (rc1, rc2 и т. Д.). Я хотел бы создать по одному vhost на каждый релиз, чтобы я мог перенаправить его непосредственно в его подкаталог, например:

pp15.mv => http://localhost/mv/pp15/.....
pp16.mv => http://localhost/mv/pp16/.....

Более того, мне нужно перенаправить хост ppX.mv на URL-адрес автологина, что-то похожее на / mv_dbname.php? login = testlogin & mdp = 202cb962ac59075b964b07152d234b70

поэтому, наконец, я хочу напечатать это на своем URL-адресе:
http://pp15.mv
и перенаправить на
http://pp15.mv/mv_dbname.php?login=testlogin&mdp=202cb962ac59075b964b07152d234b70

В моем файле виртуального хоста у меня есть что-то вроде этого:

<VirtualHost *:80>
    ServerName pp15.mv
    DocumentRoot "D:\apache\htdocs\mv\pp15"
    <Directory "D:\apache\htdocs\mv\pp15">
        AllowOverride All
        Allow from All
    </Directory>
    RewriteEngine On
    RewriteRule ^/index.php /myvisitv3_dbname.php?login=johsmi&mdp=202cb962ac59075b964b07152d234b70 [R]
    RewriteRule ^(/)?$ /myvisitv3_dbname.php?login=johsmi&mdp=202cb962ac59075b964b07152d234b70 [R]
</VirtualHost>

Первое перенаправление работает отлично, но если я пытаюсь перенаправить непосредственно хост, я получаю ошибку перенаправления (произошло слишком много перенаправлений)

У кого-нибудь есть идеи?

Спасибо вам ранее.

1 Ответ

0 голосов
/ 12 мая 2011

хорошо, наконец, вот что я сделал:

<VirtualHost *:80>
    ServerName pp16.mv
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^pp16\.mv$ 
    RewriteRule ^(/)?$ /mv/pp16/xxx/xxx_dbname.php?login=johsmi&mdp=202cb962ac59075b964b07152d234b70 [R]
</VirtualHost>

нет [L] при перенаправлении, потому что приложение имеет внутреннее перенаправление, и нет корня документа, потому что php не сможет прочитать $ _ SERVER['REQUESTED_URI'] var правильно, поэтому я мог бы сделать это (я предпочитаю)

<VirtualHost *:80>
    ServerName pp16.mv
    DocumentRoot "D:\apache\htdocs\mv\pp16\xxx"
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^pp16\.mv$ 
    RewriteRule ^(/)?$ /xxx_dbname.php?login=johsmi&mdp=202cb962ac59075b964b07152d234b70 [R]
</VirtualHost>

, но php мог бы неправильно прочитать путь к приложению ( / вместо / мв / PP16 / ххх / )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...