簡體   English   中英

有沒有一種方法可以從Symfony應用程序的URL中刪除“ / web”,而無需將“ web”目錄的內容移至根目錄?

[英]Is there a way to remove '/web' from url in Symfony application without moving content of 'web' directory to root?

我在使用Symfony創建應用程序時遇到問題,這是URL中出現“ / web”。 我找到了一種方法來解決此問題,方法是將“ web”目錄的內容移至根目錄。 但是我認為這不是一個好的開發實踐,必須有其他方法。 任何人都可以讓我知道是否還有其他方法可以像使用htaccess從網址中刪除app_dev.php一樣來完成此操作?

就我而言,我正在使用wamp服務器並擺脫“ / web”,您需要像這樣在httpd-vhosts.conf中配置虛擬主機:

<VirtualHost *:80>
    DocumentRoot C:\wamp\www\YourProjectFolder\web
    ServerName projectName.local
</VirtualHost>

我認為您應該在主機服務器中執行相同的操作。

如果您無法編輯http.conf並且啟用了mod_rewrite,只需將.htaccess文件放在文檔根目錄中,然后將每個請求重定向到/ web文件夾。

RewriteEngine on
RewriteRule ^(.*)$ /web/$1 [L,QSA]

不要從Symfony移動/web文件夾。 您只需要將vhost或Apache默認根目錄指向Web目錄即可。 例如 :

您可以在httpd.conf進行更改:

# ...
DocumentRoot "your_symfony_folder/web"
<Directory "your_symfony_folder/web">
# ...

您可以在項目根文件夾(如app,bin,src ...等文件夾)中創建一個.htaccess:

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

我想你們正在流汗。

如果我錯了,請糾正我,但是我設法通過將所有內容都放在根目錄內的Web目錄中來刪除了它。 然后我刪除了app_dev.php,並將app.php重命名為index.php。

暫無
暫無

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

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