Моделирование локальной области с Apache2 и Yii - PullRequest
0 голосов
/ 06 июля 2011

Я пытаюсь преобразовать http://localhost/website в http://website.loc, но я не могу этого сделать. Вот что я мог сделать:

Я отредактировал / etc / hosts (я в Ubuntu), изменив 127.0.0.1 localhost на 127.0.0.1 localhost website.loc и сохранив изменения

Я создал новый файл с именем website внутри /etc/apache2/sites-available с таким содержанием:

<virtualhost website.loc>
        ServerName website.loc
        DocumentRoot /home/myuser/projects/website/
        <directory /home/myuser/projects/website/>
                AllowOverride all
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                allow from all
        </directory>
</virtualhost>

И я создал мягкую ссылку на сайты с включенной поддержкой. После этого я перезапустил Apache. Кстати, я использую фреймворк Yii с любым запросом / перенаправленным в /index.php, поэтому index.php в запросе не нужен.

Итак, когда я пишу website.loc / в chrome, он перемещает меня в http://website.loc/site/login (страница индекса входа в систему, это почти ожидаемо, даже если я вошел в систему как localhost, потому что URL сайта "изменился" на website.loc, поэтому файлы cookie не передаются), но их содержание:

Not Found

The requested URL /website/index.php was not found on this server.

Apache/2.2.16 (Ubuntu) Server at website.loc Port 80

Я что-то не так делаю? Заранее спасибо, приятели

Редактировать: Все дело в .htaccess внутри / home / myuser / projects / website. Это RewriteBase указывал на / веб-сайт. Изменив это на /, и это сработало как шарм. Спасибо @Chux за напоминание мне проверить .htaccess!

1 Ответ

0 голосов
/ 06 июля 2011

Сначала http://website.loc/index.php, проверьте, работает ли это.Если это работает, это означает, что вам нужно создать .htaccess в корневой папке вашего сайта, чтобы включить этот формат маршрута

...