2016-08-01 33 views
0

摘要:Symfony2.8.x:如何配置Apache以從我的URL中刪除「web/app.php」?

  1. my-host-here.com/app_dev.php/main =工作

  2. my-host-here.com/main = 404錯誤

  3. 我的 - host-here.com/app.php/main =也得到一個404錯誤

我看各個環節(symfony.com這裏討論的SO),並試圖他們的意見/ ANSW但在這裏沒有運氣。

關於如何解決它的任何想法?非常感謝!

我正在使用在RHEL7上使用yum存儲庫安裝的Apache 2.4.x/PHP 5.4.x。

的httpd.conf

Include conf.modules.d/*.conf 

片斷駐留內部conf.modules.d

LoadModule reqtimeout_module modules/mod_reqtimeout.so 
LoadModule rewrite_module modules/mod_rewrite.so 
LoadModule setenvif_module modules/mod_setenvif.so 
LoadModule slotmem_plain_module modules/mod_slotmem_plain.so 

片斷10 php.conf的00-base.conf的片斷其位於conf.modules.d內

LoadModule php5_module modules/libphp5.so 

我的虛擬主機配置文件

<VirtualHost *:80> 
ServerName my-host-here.com 
DocumentRoot /opt/www/my-host-here/web 

<Directory /opt/www/my-host-here/web/> 
    DirectoryIndex app.php 
    AllowOverride All 
    Require all granted 

<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app.php [QSA,L] 
</IfModule> 
</Directory> 

中的.htaccess裏面的內容的/ opt/WWW /我的主機,這裏的片段/網無論Symfony的帶着。我從來沒有改變過。

symfony new my_project_name lts 
+0

https://github.com/sym fony/symfony-standard/blob/master/web/.htaccess – zerkms

+0

@zerkms我看着approot/web /,似乎我已經有完全相同的文件了。 – mrjayviper

+0

是在Apache2中啓用mod_rewrite? symfony默認包含正確的.htaccess文件,所以你不應該爲此做任何事情。請參閱http://stackoverflow.com/questions/9021425/how-to-check-if-mod-rewrite-is-enabled-in-php – NDM

回答

1

這裏是我的設置:

/etc/apache2/sites-available/project.conf

<VirtualHost *:80> 
    ServerName project  
    DocumentRoot /path/to/project/web 

    <Directory /path/to/project/web > 
     Options Indexes FollowSymlinks 
     AllowOverride All 
     Require all granted 
    </Directory> 

    ErrorLog /path/to/project/error.log 
    CustomLog /path/to/project/access.log combined 
    </VirtualHost> 

網/的.htaccess Symfony的項目是使用命令創建

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    # Explicitly disable rewriting for front controllers 
    # RewriteRule ^app.php - [L] 
    RewriteRule ^app_dev.php - [L] 

    RewriteCond %{REQUEST_FILENAME} !-f 

    # Change below before deploying to production 
    # RewriteRule ^(.*)$ app.php [QSA,L] 
    RewriteRule ^(.*)$ app_dev.php [QSA,L] 
</IfModule> 
相關問題