Вопрос

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

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>

/ etc / hosts

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 я изменил пути к папке системы и приложения, конечно.

Это было полезно?

Решение

Похоже, вы будете переписаны / гастанские проблемы, а не проблемы 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 часть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top