[英]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的先行斷言 , NGINX和Apache均使用該庫來支持正則表達式 ),因此,不會是任何無限的重定向循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.