好的,所以我試圖在我的本地機器上安裝Symfony 2演示應用程序。我使用Apache 2.2 Web服務器,並將項目文件下載到我的〜/ myproject /目錄(在我的Home文件夾中)。因爲symfony文件reccomends這裏http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html我在/ etc/apache2的/網站可用/用以下內容創建文件 「的myproject」:配置虛擬主機後仍然得到404
<VirtualHost *:80>
ServerAdmin [email protected]
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」,以查看該項目的索引頁或只是「我的項目」對嗎?因爲這兩行
ServerName myproject
ServerAlias www.myproject
但這並不起作用,當我嘗試瀏覽器顯示一些谷歌結果。當我嘗試prepend localhost /我得到404,只有當我輸入localhost/app_dev.php或localhost/config.php我可以看到真實的頁面,但它不是它應該工作的方式嗎?有些事情是錯誤的,顯然我在某個時候犯了一個錯誤,但是我缺乏經驗和對它的看法。