3

Я раскомментировал следующую строку в файле httpd.conf.

Include /private/etc/apache2/extra/httpd-vhosts.conf

А затем добавил следующий код в httpd-vhosts.conf

<VirtualHost *:80>
  ServerName 15ive.com
  ServerAlias *.15ive.com
  DocumentRoot "/Applications/MAMP/htdocs/15five/web"
  <Directory "/Applications/MAMP/htdocs/15five/web">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
  SetEnv DEV 1
  SetEnv BASEDOMAIN 15ive.com
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^(/index\.php|/images|/scripts|/js|/css|/robots\.txt|/favicon\.ico|/pma15$
  RewriteRule ^(.*)$ /index.php/$1 [L]
</VirtualHost>

И теперь, когда я открываю 15ive.com в своем браузере, я фактически вижу корень документа localhost вместо того, что я указал в файле виртуальных хостов. Кажется, что Apache не поднимает его. Есть идеи, где я ошибся?

3 ответа3

2

Откройте файл /etc/apache2/httpd.conf и перейдите к строке Include /private/etc/apache2/extra/httpd-vhosts.conf .

Ищу:

<IfDefine WEBSHARING_ON> ... </IfDefine>

который охватывает несколько включений в этой области и удаляет эти строки. Если вы используете GUI для Apache на OSX, вы можете установить "WEBSHARING_ON", но, как и я, вы, вероятно, используете httpd -k start.

1

Вы раскомментировали

#Include conf/extra/httpd-vhosts.conf

в вашем файле Apache httpd.conf?

0

Сначала я бы переместил директиву Directory, а затем директиву VirtualHost.

<Directory "/Applications/MAMP/htdocs/15five/web">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
  ServerName 15ive.com
  ServerAlias *.15ive.com
  DocumentRoot "/Applications/MAMP/htdocs/15five/web"
  SetEnv DEV 1
  SetEnv BASEDOMAIN 15ive.com
  RewriteEngine on
  RewriteCond %{REQUEST_URI} !^(/index\.php|/images|/scripts|/js|/css|/robots\.txt|/favicon\.ico|/pma15$
  RewriteRule ^(.*)$ /index.php/$1 [L]
</VirtualHost>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .