我用webman新創(chuàng)建的項目
composer create-project workerman/webman
然后再安裝webman-admin
composer require -W webman/admin
然后訪問帶端口號的地址:
一切都是正常的。
但是我的服務(wù)器、域名、端口都有限制,所以我不能在url根路徑下訪問webman-admin
于是我在nginx中做了代理:
# 將/admin的請求轉(zhuǎn)到127.0.0.1:55602
location /admin/ {
proxy_pass http://127.0.0.1:55602/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
然后我啟動服務(wù)后,我通過nginx代理訪問網(wǎng)站:
結(jié)果發(fā)現(xiàn)雖然install頁面打開了,但是所有靜態(tài)資源(樣式、腳本、圖片)都沒有加載出來,用F12看一下,以pear.css為例,瀏覽器加載資源的uri是這個:
http://domain/app/admin/component/pear/css/pear.css
其實我們期望它加載資源的路徑是:http://domain/admin/app/admin/component/pear/css/pear.css
我看了plugin/admin/app/view中的頁面源代碼,它加載資源的路徑是這樣寫的
<link rel="stylesheet" href="/app/admin/component/pear/css/pear.css" />
如果我手動把它改成<link rel="stylesheet" href="../app/admin/component/pear/css/pear.css" />
那么無論我訪問 http://domain/admin/app/admin 還是 http://domain/admin/app/admin 都是正常的,可是我知道這種改法是不科學的,工作量也很大。
所以請問有沒有更好的方案,讓webman-admin可以運行在站點的非根路徑上?
搜索過整個社區(qū),沒有找到具體的解決方案。
將/app/admin
的請求轉(zhuǎn)到127.0.0.1:55602
location /app/admin {
proxy_pass http://127.0.0.1:55602/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}