У меня есть 2 проекта codeigniter на моем локальном хосте wamp, и я пытаюсь настроить несколько vhosts.
Моя структура каталогов такая:
- www
- project
- projectold
Я установил 2 хоста: project.lh
и projectold.lh
вот мои записи httpd-vhosts.conf:
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName project.lh
DocumentRoot "c:/wamp64/www/project"
SetEnv CI_ENV development
<Directory "c:/wamp64/www/project/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName projectold.lh
DocumentRoot "c:/wamp64/www/projectold"
SetEnv CI_ENV development
<Directory "c:/wamp64/www/projectold/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Я также раскомментировал эту строку в моем файле httpd.conf:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Обновлено:
Это то, что сейчас находится в моем файле hosts:
127.0.0.1 localhost
::1 localhost
127.0.0.1 project.lh
::1 project.lh
127.0.0.1 project.lh
::1 project.lh
127.0.0.1 projectold.lh
::1 projectold.lh
(не уверен, почему для project.lh есть 2 записи)
Обновлено еще раз: Это файл .htaccess в каталоге project.lh. Для projectold.lh нет файлов .htaccess.
RewriteEngine on
RewriteBase /
## Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
##RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
У меня проблема в том, что когда я перехожу к projectold.lh, он каким-то образом втягивает разметку для project.lh. Я не понимаю, почему и как это могло происходить. Я думаю, что мне что-то не хватает.
Я попытался закомментировать запись project.lh в моем файле vhosts, и это не помогло. Надеюсь, кто-то видел это раньше.
Я использую Wamp3.1.3.
Я добавил свои записи в файл hosts.
Не думаю, что я входил в него дважды. Я предполагал, что это редактировал wamp, когда я добавил vhost с помощью пользовательского интерфейса. Я просто скопировал то, что там сейчас есть. Удаляю лишнюю запись.
Есть ли у вас также файл .htaccess
в каждом из этих экземпляров?
Я добавил файл .htaccess.
Это может быть просто случай использования жестко заданного пути в одном из ваших включаемых файлов.
все ссылки используют функцию codeigniter base_url (), которая определяется как: $ config ['base_url'] = 'https: //'. $ _SERVER ['HTTP_HOST']. '/';
даже если бы один был жестко запрограммирован, это не привело бы к тому, что вся разметка html была получена из неправильного каталога .. \
Хорошо, но виртуальные хосты выглядят так, как будто они определены правильно, поэтому я хватаюсь за соломинку
ты и я оба :(
Вы не упоминаете, что вы делали, в файле HOSTS. Вы регистрировали домены в файле HOSTS?