하위 도메인에 대한 가상 호스트 설정

하위 도메인에 대한 가상 호스트 설정

가상 호스트를 만들려고 하는데 절반 정도만 작동합니다. 나는 달릴 수 있다index.php홈 페이지를 로드하지만 링크로 이동하려고 하면 다음과 같은 메시지가 표시됩니다.

Not Found

The requested URL /home was not found on this server.
Apache/2.4.7 (Ubuntu) Server at c2s.dev Port 80

(저는 사용하고 있어요yii2프레임, 그것이 의미하는 바가 있다면). 하위 도메인을 사용하여 사이트에 액세스할 수도 있습니다(서버를 찾을 수 없습니다). 올바른 구성은 무엇입니까? 저는 기본적으로 Linux Mint 17.1을 사용합니다.램프설정. 이것은 내 c2s.conf입니다.

<VirtualHost 127.0.1.1:80>
  DocumentRoot /var/www/c2c/www
  ServerName c2s.dev
  ServerAlias *.c2s.dev
</VirtualHost>

/etc/hosts에 다음을 추가했습니다.

127.0.1.1   c2s.dev
127.0.1.1   *.c2s.dev

답변1

Yii의 공식 웹사이트에서는 Apache용 vhost를 구성하는 방법을 설명합니다. 예시를 보시면 됩니다여기

Apache의 기본 구성은 다음과 같습니다.

<Directory "path/to/basic/web">
    # use mod_rewrite for pretty URL support
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php

    # ...other settings...
</Directory>

귀하의 경우 다음과 같이 보일 수 있습니다.

<VirtualHost *:80>
    ServerName c2s.dev
    DocumentRoot /var/www/c2c/www
    <Directory /var/www/c2c/www>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

루트 웹 폴더의 .htaccess 파일은 다음과 같습니다: 옵션 +FollowSymLinks IndexIgnore/

<IfModule mod_rewrite.c>
    RewriteEngine on

    #RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^.*$ index.php
</IfModule>

관련 정보