[英]URL parameters before the domain
我對一般的路由和網址有疑問。 我的問題是關於域本身之前的url中的參數或查詢。 例如:
我問這個問題是因為我使用的是ExpressJS,而您只能在域本身之后定義路由,例如:
它將被添加到URL的末尾。 我想要的是能夠在域本身之前存儲參數。
先感謝您!
費耶
我確實知道如何使用參數和查詢,只是不知道如何在域之前插入它們。
也許此虛擬主機中間件對您的情況很有用: https : //github.com/expressjs/vhost#using-with-connect-for-user-subdomains
否則,類似的方法將起作用:創建一個中間件函數,該函數解析url並將提取的值存儲在請求的屬性中。
您可以創建一個if語句,該語句可以通過包含請求域的express req.headers.host
變量查看子域。 例如:
-- google.com/anything/another
req.headers.host => "google.com"
-- docs.google.com/anything/
req.headers.host => "docs.google.com"
所以工作過這個在你的路線,你可以撥打Next()
如果請求不符合你想要的形式。
router.get('/', function(req, res, next) {
if (req.headers.host == "sub.google.com") {
//Code for res goes here
} else {
//Moves on to next route option b/c it didn't match
next();
}
});
這可以擴展很多! 包括已經創建了許多軟件包來完成此操作的事實(例如subdomain )。免責聲明您可能需要考慮www.
的使用www.
與一些網址。
所以我會用類似
router.get('/myRoute', function(req, res,next) {
req.headers.host == ":param.localhost.com"
//rest of code
}
我想我理解您在說什么,但是我將對我的請求標題進行一些測試和進一步的閱讀。
編輯:現在看來繼續這樣做似乎是不必要的麻煩,因為此刻我也在使用React-router。 所以暫時我只是在/之后使用我的參數。 感謝您的時間和回答。 祝你今天愉快!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.