URL-адрес nginx переписать mysite.com/blog => blog.mysite.com/blog - PullRequest
0 голосов
/ 20 февраля 2011

привет, 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 всегда 2 раза в блоге. Почему?

и не могли бы вы проверить мое утверждение "ЕСЛИ"? Я думаю, что это написано неправильно, потому что я действительно хочу сказать: если URI не начинается с блога и заканчивается / blog, то добавьте «блог». в начало сразу после http: // что будет выглядеть http://blog.mysite.com/blog.

Спасибо, ребята, заранее!

Ответы [ 2 ]

0 голосов
/ 20 февраля 2011

ребята, я должен ответить на свой вопрос.прости меня, это не совсем ответ.Первое, во-первых, ... я отказался от этого.

Почему?Что ж, я подумал, что было бы неплохо наполнить мой блог на форуме и делать покупки такими красивыми юрисдикциями, как blog.mysite.com shop.mysite.com forum.mysite.com. Дырочный материал - это django + nginx (обслуживающий статические файлы) + apache2 - управляемый,прямо сейчас мои URL выглядят так: mysite.com/forum mysite.com/blog mysite.com/shop.и я не вижу решения, как я мог бы изменить это.Если мне удастся переписать текст, у меня возникнет другая проблема, потому что я получу Uris, похожий на этот blog.mysite.com/blog, который тоже выглядит не очень красиво.Моя дырка в приложении django выполняется с помощью одного apache VirtualHost и только одного wsgi_handler.

Так что, если я действительно хочу поддоменов.

я должен сделать это аналогично этому подходу: несколько поддоменов

И я думаю, что в смысле SEO (поисковая оптимизация), возможно, несколько поддоменов не очень хорошая идея.может быть, субдомены не так важны, как вложенные папки в URL-адресах.

Так что, если никто из вас не подскажет мне, как это делают настоящие мужчины, я пойду на мой блог-магазин A-Records и удалим их.так что я просто пойду с mysite.com/*

что вы, ребята, думаете?привет sc

0 голосов
/ 20 февраля 2011

Попробуйте что-нибудь подобное. Сейчас вы пытаетесь сравнить имя хоста с URL-адресом.

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