サブドメインにリダイレクトしたいいくつかの異なるURLパラメータがあります。
mydomain.com/blog/title-of-the-post-> blog.mydomain.com/title-of-the-post
と
mydomain-com / taxonomy / term / id-> mydomain.com/id
したがって、ロジックはほとんど書き直されていますが、URLの一部を取得して使用したいと考えています。これはできますか?
サブドメインにリダイレクトしたいいくつかの異なるURLパラメータがあります。
mydomain.com/blog/title-of-the-post-> blog.mydomain.com/title-of-the-post
と
mydomain-com / taxonomy / term / id-> mydomain.com/id
したがって、ロジックはほとんど書き直されていますが、URLの一部を取得して使用したいと考えています。これはできますか?
はい、リライトで後方参照を使用できます。
location /blog/ {
rewrite ^/blog/(.*)$ http://blog.mydomain.com/$1 permanent;
}
他の書き換えでも同じことが機能します
アップデート:
ブログ部分を保持したい場合は、$uri を変更せず、$host のみを変更すれば、簡単になります。
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;
}
これは、ブログの URL の 4 桁の年に一致します。正規表現と後方参照の詳細については、たとえばhttp://www.regular-expressions.info/brackets.htmlを参照してください。