PHP Codeigniter - проблема с настройкой виртуального хоста Apache

Это делает мою голову. Надеюсь, вы, ребята, можете помочь. Я не могу узнать, где лежит ошибка.

HTTPD-vhosts.conf

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
    DocumentRoot /opt/lampp/htdocs
    ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1>
    DocumentRoot /home/tilman/Sites/mysite/www
    ServerName mysite.lo
</VirtualHost>

/ и т.д. / хосты

127.0.0.1   localhost
127.0.0.1   mysite.lo

config.php

$config['base_url'] = "http://mysite.lo";
$config['index_page'] = "";

WWW /.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 index.php
</IfModule>

Сейчас http://mysite.lo показывает мне контроллер по умолчанию. http://mysite.lo/index.php также. Так же http://mysite.lo/index.php/welcome,

Но http://mysite.lo/welcome не делает.

http://localhost/mysite/www/welcome работает как положено.


редактировать: я хочу переместить систему и приложение из корня сети. Итак, моя файловая структура выглядит так:

application/
system/
www/
 '- index.php

В index.php я, конечно, изменил пути к папке системы и приложения.

2 ответа

Решение

Похоже, у вас проблемы с перезаписью / htaccess, а не с VirtualHost. Вы убедились, что у вас есть блок, такой как

<VirtualHost *:80>
  ServerName mysite.lo
  <Directory /home/tilman/Sites/mysite>
    AllowOverride All
  </Directory>
</VirtualHost>

где-то в ваших конфигурационных файлах? Тот факт, что /index.php и /index.php/welcome работают, говорит мне, что это мод перезаписи, который не работает...

В вашем виртуальном хосте вам это не нужно?

<VirtualHost 127.0.0.1>
    DocumentRoot /home/tilman/Sites/mysite
    ServerName mysite.lo
</VirtualHost>

Я не уверен, что вам нужно www часть.

Другие вопросы по тегам