가상 호스트를 만들려고 하는데 절반 정도만 작동합니다. 나는 달릴 수 있다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>