簡體   English   中英

nginx url重寫mysite.com/blog => blog.mysite.com/blog

[英]nginx url rewrite mysite.com/blog => blog.mysite.com/blog

您好regex和nginx-朋友,

我在網上搜索了幾個小時,這讓我發瘋了:-)我什至找不到類似的問題。 我想重寫mysite.com/blog-> blog.mysite.com/blog。

也許我完全錯了,但是現在我有:

  if ($host !~* ^(blog|subdomain)/blog$) {
       rewrite ^/(.*)$ $scheme://blog.$host/$1 permanent;
 }

這有點奏效,但不是真的。 我得到: http://blog.blog.mysite.com/blog : http://blog.blog.mysite.com/blog總是2次博客。 為什么?

您能否檢查我的“ IF”聲明? 我認為它寫得不正確,因為我真正想說的是:如果URI不是以Blog開頭,而以/ blog結尾,而不是添加“ blog”。 到http://之后的開頭,看起來就像http://blog.mysite.com/blog

提前謝謝大家!

嘗試這樣的事情。 現在,您正在嘗試比較主機名以匹配URL路徑。

location /blog {
  if($host !~* ^(blog.mysite.com)$) {
    rewrite ^/(.)$ $scheme://blog.$host/$1 permanent;
  }
}

所以,我必須回答我自己的問題。 原諒我,這不是一個真正的答案。 首先,……我已經放棄了這一點。

為什么? 好吧,我認為為論壇博客和商店(如blog.mysite.com shop.mysite.com forum.mysite.com)提供支持非常好,漏洞是django + nginx(提供靜態文件)+ apache2-驅動。 現在,我的網址如下所示:mysite.com/forum mysite.com/blog mysite.com/shop。 而且我沒有看到解決方案,我該如何改變。 如果我設法進行重寫,那我會遇到另一個問題,因為我會遇到類似於此blog.mysite.com/blog的uri,看起來也不是很漂亮。 我的Hole django應用程序是用一個Apache VirtualHost和一個wsgi_handler完成的。

因此,如果我真的想要子域。

我應該這樣做,類似於: 多個子域

我認為就SEO(搜索引擎優化)的意義而言,多個子域可能並不是一個好主意。 也許子域不如URL中的子文件夾那么重要。

因此,如果沒有人給我一個榮耀的解決方案,那么我將去我的A-Records博客商店論壇並刪除它們。 所以我只用mysite.com/*

你們有什么感想? 問候sc

暫無
暫無

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

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