2013-02-17 196 views
4

我在本地開發一個網站/網絡應用程序,其中包括許多Ajax調用等... 我的問題是每次我必須包括app_dev.php到網址 - 所以當我繼續推動時,我需要搜索並替換這些網址。Symfony2:重定向本地主機/ app_dev.php到本地主機/

有沒有辦法通過apache來隱藏app_dev.php?我閱讀了很多關於該問題的問題,但沒有解決方案爲我工作。

什麼我已經做了添加此:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "C:/wamp/www/web" 
    DirectoryIndex app_dev.php 
    ServerName dummy-host.example.com 
    ServerAlias localhost 
    ErrorLog "logs/dummy-host.example.com-error.log" 
    CustomLog "logs/dummy-host.example.com-access.log" common 
    <Directory "C:/wamp/www/web"> 
     AllowOverride All 
     Allow from All 
    </Directory> 
</VirtualHost> 

到我的httpd.conf但它完全忽略了......

我與WAMP 2.2

回答

3

工作,我改變了我的網站/.htm訪問以下內容::

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    #<IfModule mod_vhost_alias.c> 
    # RewriteBase/
    #</IfModule> 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app_dev.php [QSA,L] 
</IfModule> 

我在httpd.conf中添加了以下內容:

DocumentRoot "c:/wamp/www/web" 
<Directory "c:/wamp/www/web"> 

我要感謝我的httpd-vhosts.conf(C:\ WAMP \ BIN \ apache的\ apache2.4.2 \的conf \額外):

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "C:/wamp/www/web" 
    DirectoryIndex app_dev.php 
    ServerName localhost 
    ServerAlias localhost 
    ErrorLog "logs/dummy-host.example.com-error.log" 
    CustomLog "logs/dummy-host.example.com-access.log" common 
    <Directory "C:/wamp/www/web"> 
     AllowOverride All 
     Allow from All 
    </Directory> 
</VirtualHost> 
0

我會去一個更一致的方法與這束:

FOSJsRoutingBundle

然後你就可以通過他們的名字生成路線,並app_dev.php除了會發生在剛開發環境。

+0

看來這個包增加了一個額外的js文件來完成這項工作?這是不是有點誇張? – 2013-02-17 15:43:52

+0

這是一個簡單的文件,你也會壓縮和縮小。這樣你的路由是一致的,即如果你在服務器端代碼中改變它們,這些改變也反映在js代碼中。 – moonwave99 2013-02-17 16:18:12

0

看來您正在嘗試將開發環境設置爲Symfony

更簡單的解決方案應該是創建虛擬主機並告訴它不要使用.htaccess,因爲它是導致您的虛擬主機設置被覆蓋的.htaccess文件。

請記住.htaccess無論您在httpd.confhttpd-vhosts.conf文件中做了什麼都可以應用。發展

虛擬主機mysite.dev

<VirtualHost *:80> 
    ServerName mysite.dev 
    ServerAlias www.mysite.dev 
    DocumentRoot e:/testing/mysite/web 
    <Directory "e:/testing/mysite/web/"> 
     // disable the .htaccess in the web folder 
     // from undoing the attempt to go straight to app_dev.php 
     AllowOverride None 

     Require local 

     // this forces app_dev.php to be run 
     <IfModule rewrite_module> 
      Options -MultiViews 
      RewriteEngine On 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteRule ^(.*)$ app_dev.php [QSA,L] 
     </IfModule> 
    </Directory> 
    ErrorLog "D:/wamp/logs/mysite.dev.apache.error.log" 
    CustomLog "D:/wamp/logs/mysite.dev.apache.access.log" combined 
    php_value error_log "D:/wamp/logs/mysite.dev.php.error.log" 
</VirtualHost> 

在PROD環境

<VirtualHost *:80> 
    ServerName mysite.dev 
    ServerAlias www.mysite.dev 
    DocumentRoot e:/testing/mysite/web 
    <Directory "e:/testing/mysite/web/"> 

     AllowOverride All 

     Require local 

    </Directory> 
    ErrorLog "D:/wamp/logs/mysite.prod.apache.error.log" 
    CustomLog "D:/wamp/logs/mysite.prod.apache.access.log" combined 
    php_value error_log "D:/wamp/logs/mysite.prod.php.error.log" 
</VirtualHost> 

現在測試的虛擬主機,你可以離開.htaccess文件,因爲它是,因爲它可能是非常相關的,當你來移動這個網站到一個活的服務器。

您也不需要修改標準WAMPServer默認設置中默認的httpd.conf文件中的任何內容。