簡體   English   中英

配置虛擬主機后仍然得到404

[英]After configuring virtual hosts still get 404

好的,所以我想在本地計算機上設置Symfony 2演示應用程序。 我使用apache 2.2網絡服務器,並將項目的文件下載到我的〜/ myproject /目錄中(在我的Home文件夾中)。 由於Symfony文檔在這里推薦,因此http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html我在/ etc / apache2 / sites-available /中創建了文件“ myproject”,其內容如下:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName myproject
ServerAlias www.myproject

DocumentRoot /home/dmitriy/myproject/web
  <Directory /home/dmitriy/myproject/web>
        # enable the .htaccess rewrites
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

我禁用默認的apache配置並通過運行啟用“ myproject”

sudo a2dissite default && sudo a2ensite mysite

之后,我重新啟動了Apache

sudo /etc/init.d/apache2 restart

現在,symfony演示項目在web /目錄中附帶了.htaccess文件,其內容如下:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]

RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

以我的理解,我現在應該可以通過地址“ www.myproject”或僅“ myproject”看到項目的索引頁面,對嗎? 由於這兩行

ServerName myproject
ServerAlias www.myproject

但這不起作用,當我嘗試瀏覽器顯示一些google結果時。 當我嘗試在localhost /前面添加404時,只有輸入localhost / app_dev.php或localhost / config.php時,我才能看到真實的頁面,但這不是它應該工作的方式嗎? 出了一些問題,顯然我在某個時候犯了一個錯誤,但是我缺乏經驗。

我忘了編輯/ etc / hosts文件。 添加127.0.0.1 myproject www.myproject它終於可以工作了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM