簡體   English   中英

從網址中刪除目錄名稱

[英]Remove directory names from url

我在Lumen中有一個新項目,需要將其部署到登台服務器,並且已經完成了。 我在從URL刪除目錄名稱時遇到問題。 我的項目目錄如下:

DIR - ProjectName
   DIR - ProjectName {Lumen files inside this directory}
     DIR - app
     DIR - bootstrap
     DIR - database
     DIR - public
     DIR - resources
     DIR - storage
     DIR - tests
     DIR - Vendor

因此,當前要查看我的應用程序,我需要輸入如下網址:

http://stagingserverdomain.com/ProjectName/ProjectName/public/login

但是我希望我的網址是這樣的:

http://stagingserverdomain.com/ProjectName/login

我已經嘗試過SO的許多答案,但是它不起作用。

用這個:

RewriteEngine On
RewriteRule ^Projectname/login$ /ProjectName/ProjectName/public/login [L]

它應該為您提供以下URL:

http://stagingserverdomain.com/ProjectName/login

好問題! 將此Apache httpd RewriteRule添加到httpd.conf文件中的相應服務器定義中:

RewriteEngine On
RewriteRule ^/(ProjectName)/((?!\1).*)  /$1/$1/public/$2

或者,將其添加到Web服務器根目錄下的.htaccess文件中,例如,第一個ProjectName目錄所在的位置:

RewriteEngine On
RewriteRule ^(ProjectName)/((?!\1).*)   $1/$1/public/$2

或者,將其添加到第一個ProjectName目錄(第二個ProjectName目錄所在的目錄)內的.htaccess文件中:

RewriteEngine On
RewriteRule ^((?!ProjectName).*)    ProjectName/public/$1

或者,(建議這樣做),切換到nginx ,然后執行以下操作:

location /ProjectName {
    rewrite ^/([^/]+)/((?!\1).*)$   /$1/$1/public/$2;
}

上面的代碼確保僅當您的URL不包含ProjectName/ProjectName時才進行rewrite (使用PCRE先行斷言NGINXApache均使用該庫來支持正則表達式 ),因此,不會是任何無限的重定向循環。

暫無
暫無

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

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