2
有許多不同的url參數,我希望重定向到一個子域。Nginx重寫url域名參數
mydomain.com/blog/title-of-the-post - > blog.mydomain.com/title-of-the-post
和
MYDOMAIN-COM /分類/術語/ ID - > mydomain.com/id
因此,邏輯幾乎是重寫,但想要抓取和使用一些url。這可以做到嗎?
有許多不同的url參數,我希望重定向到一個子域。Nginx重寫url域名參數
mydomain.com/blog/title-of-the-post - > blog.mydomain.com/title-of-the-post
和
MYDOMAIN-COM /分類/術語/ ID - > mydomain.com/id
因此,邏輯幾乎是重寫,但想要抓取和使用一些url。這可以做到嗎?
是的,你可以使用反向引用您的重寫,如:
location /blog/ {
rewrite ^/blog/(.*)$ http://blog.mydomain.com/$1 permanent;
}
和同樣的事情worksfor你的其他重寫
UPDATE:
如果你要保持博客的部分,你不再改變$ uri,只有$主機,它變得更容易:
location /blog/ {
rewrite^http://blog.mydomain.com/$uri permanent;
}
注:nginx的標準變量在http://wiki.nginx.org/HttpCoreModule#Variables
的多個參數中列出您使用進一步反向引用$ 2 $ 3等(只要確保你有分組,即括號,各地要在正則表達式使用部分),例如:
location /blog/ {
rewrite ^/blog/([0-9]{4})/(.*)$ http://blog.mydomain.com/$1/$2 permanent;
}
這將匹配4位數年份在您的博客網址,例如參見http://www.regular-expressions.info/brackets.html對正則表達式和反向引用
感謝更多信息。如果你想保留博客(blog.mydomain.com/blog/-title-of-content)怎麼辦? – lata
如果您有多個網址參數,請執行以下操作:mydomain.com/blog/first/second/thrid - > blog.mydomain.com/second/third – lata
再次更新我的答案 – cobaco