2014-04-03 58 views
-1

所以我有這個問題:我有一個Web應用程序上的XAMPP。 現在我的網址是:localhost/symfony/web/app_dev.php/inbox 但我希望它只是localhost/inbox例如。 這可能嗎?我只知道如何用nginx做到這一點,但不能用xampp或symfony路由。PHP:Symfony2的Web應用程序的URL

+0

http://stackoverflow.com/questions/9669458/how-to-remove-web-app-dev-php-from-symfony2-urls?rq=1的可能的複製 –

回答

0

你編輯了.htaccess

你可以使用這一個,擺在localhost/symfony/web

DirectoryIndex app_dev.php 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

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

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

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

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

<IfModule !mod_rewrite.c> 
    <IfModule mod_alias.c> 
     RedirectMatch 302 ^/$ /app_dev.php/ 
     # RedirectTemp cannot be used instead 
    </IfModule> 
</IfModule> 

PS:您的網址將localhost/symfony/inbox理所應當的。然後,當你把它放在一臺服務器上,你把所有的文件在根和您的網址將domain.com/inbox

希望這有助於:)

+0

現在我的URL是localhost/symfony/web/inbox,我該如何修復它以刪除/ web? – Ignas

+0

嘗試編輯'RewriteRule。?使用'RewriteRule。%{ENV:BASE} /app_dev.php [L]'。 %{ENV:BASE} /web/app_dev.php [L]' – ponciste

+0

並將'.htaccess'放在'localhost/symfony'而不是'localhost/symfony/web' – ponciste

0

編輯你的Apache配置文件,以正確地指向DocumentRootweb文件夾:

DocumentRoot /var/www/Symfony/web 
<Directory /var/www/Symfony/web> 
    ... something goes here ... 
</Directory> 
+0

工作,那麼它仍然是'domain.com/app.php/inbox'; – ponciste

+0

@ponciste它取決於什麼被放置,而不是'...一些東西在這裏......'在配置中;) –

+1

也是如此。 – ponciste