我正在尝试制作虚拟主机,但它有点半工作。我能够运行索引.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>
根 Web 文件夹上的文件 .htaccess 如下所示:Options +FollowSymLinks IndexIgnore/
<IfModule mod_rewrite.c>
RewriteEngine on
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php
</IfModule>