nginxの実際のケース-rewriteルール
1.書き換えルール
書き換えルールは、URLを書き換えるために実装し、リダイレクトすることができます
アクションシーン:
- 、ページジャンプ、互換性のサポート、表示効果などのジャンプURLへのアクセス、デザインの開発をサポートし、
- SEOの最適化
- メンテナンス:背景メンテナンス、トラフィック転送、など
- セキュリティ
2.リダイレクト
2.1リダイレクトとは何ですか
ジャンプアドレスは、Bへのアドレスであります
再設定された方向の他の位置(例えばに対する種々のネットワークが要求する様々な方法によってリダイレクション(リダイレクト):リダイレクトページのリダイレクト、ドメイン名だけでなく、経路重みを介してデータ・パケットのルーティングを変更します方向性)
2.2リダイレクトする必要がありますか
- 現地調整(たとえば、ページのディレクトリ構造の変更など)
- ページは新しいアドレスに移動されます
- (例えば、アプリケーションの必要性などの拡張ページの変更
.php
変更されます.html
)
また、いくつか登録された複数のドメインのサイトを、ないリダイレクトこの場合、ユーザーのお気に入り、または古いアドレスにエンジンのデータベースを検索するには、顧客のみが無駄に流れるように404ページのエラーメッセージへのアクセス、アクセスの損失をプレゼントしますまた、自動的にメインのサイトなどにジャンプリダイレクトユーザーにこれらのドメイン名へのアクセスをする必要があります
3.301と302
3.1 301および302は何ですか
それを理解するための例:
curl -I www.taobao.com
curl -I taobao.com
301リダイレクト:301は、永久的な転送(PermanentlyMoved)を表し
302が一時的移動を表す(TemporarilyMoved):302リダイレクト
3.2共通点と相違点
- 共通:
301と302個のステータスコードサーバはこのステータスコードは、自動的に新しいURLアドレスへジャンプする戻った後、ブラウザは、アドレスがヘッダロケーション応答からユーザによって見られる効果(得ることができる、リダイレクトを示します彼は)別のアドレスBに瞬間入力アドレスであります - 違い:
302は旧アドレスAを表し、301は旧アドレスリソースが恒久的に(このリソースを訪問することはできません)、検索エンジンは、新しいコンテンツもリダイレクト後のURLに、古いURLを交換すると同時に、クロール削除されました表しリソースが残っている(まだアクセス)、これはアドレスBにジャンプするには、古いアドレスからのみ一時的なリダイレクトされ、検索エンジンは、新しいコンテンツをクロールし、古いURLを保存します
3.3場合にジャンプする301または302
- サイトやページ24/48時間が一時的に新しい場所に移動すると、今度はそれが302回のジャンプでなければなりません。
アナロジー:私は家を持っているが、最近、私は戻っていた2日間に住んでいる親戚や親戚を訪問するために行ってきました。 - サイトの前に301回のジャンプの使用がオフに削除されるためにいくつかの理由の必要性のためのシーンですし、新しいアドレスにアクセスに行く永久的です。
実際には、あなたが借りている家のセットで好きで、今のリースはあなたが生きて借家前に、別の場所に家を見つけ、アップしています
3.4 301ジャンプシーン
- 期限切れのドメイン名を更新(または複数の適切なサイトのドメイン名を見つける。)にしたくない、私は、ドメイン名を変更したいです。
- 検索結果は、WWWとWWWのドメイン名を指定せずに検索エンジンのドメイン名で表示され、このあなたが301リダイレクトを使用することができ、時間私たちの目標である検索エンジンのドメイン名を告げるが含まれていません
- Spaceサーバーが不安定、スペースのための時間
301ジャンプを利用するために3.5
例えば:
サイトAから行います(サイトの腐った)サイトB(検索非常に前列)に302ジャンプは、この時間は時々エンジンは、サイトBのコンテンツを使用します検索しますが、Aは、サイトのアドレスが含まれています。だから、知らず知らずのうちに、サイトA、サイトのランキング前面にサイトBに貢献します
302リダイレクト検索エンジンを簡単に同じウェブサイトを指す複数のドメイン名を使用すると間違われることができ、その後、あなたのウェブサイトはの電荷のシールされる「サイトのは、Googleの検索結果にランク付けを妨害する重複したコンテンツを使用しています。」
4. www.westos.org-HTTPS://www.westos.org
設定ファイルを変更します。
vim /usr/local/nginx/conf/nginx.conf
121 server {
122 listen 80;
123 server_name www.westos.org;
124 rewrite ^/(.*)$ https://www.westos.org/$1; ##$1表示用户在这里输入的内容保留,只会重定向$1前面的内容
125 #rewrite ^/(.*)$ https://www.westos.org/$1; ##永久重定向(可以缓存,临时的不允许缓存)
nginx -t #语法检测
nginx -s reload #在不暂停服务的情况下重新加载
テスト:
搜索www.westos.org 页面跳转到https://www.westos.org
搜索www.westos.org/test.html 跳转到https://www.westos.org/test.html
注意:
1.404:そこにこのファイルを、それより下にはtest.htmlというはありませんが、まだにリダイレクトされますがhttps://www.westos.org/test.html
(たったの$前へ1コンテンツをリダイレクトするために、ユーザーはここに予約を入力することを$手段1のすなわち、内容)
2. ^/(.*)$
全て、即ちマッチングwww.westos.orgと一致。
-https掲示板へのアクセス5. www.westos.orgと終了://bbs.westos.org:
設定ファイルを変更します。
vim /usr/local/nginx/conf/nginx.conf
116 location / {
117 root /bbs;
118 index index.html index.htm;
119 }
120 }
121 server {
122 listen 80;
123 server_name www.westos.org;
124 #rewrite ^/(.*)$ https://www.westos.org/$1; ##$1表示用户在这里输入的内容保留,只会重定向$1前面的内容
125 #rewrite ^/(.*)$ https://www.westos.org/$1; ##永久重定向(可以缓存,临时的不允许缓存)
126 rewrite ^/bbs$ https://bbs.westos.org/index.html permanent; #表示访问www.westos.org并且以bbs 结尾的,都定向到https://bbs.westos.org
mkdir /bbs
vim /bbs/index.html
cat /bbs/index.html
nginx -t #语法检测
nginx -s reload #在不暂停服务的情况下重新加载
実機での解決に追加します。
vim /etc/hosts
テスト:
bbs.westos.org #查看到的是server1,这是因为我们在配置文件中写好的默认发布页面内容为server1
https://bbs.westos.org/ #添加证书后,查看到/bbs里的默认发布内容
www.westos.org/bbs #页面会自动跳转到https://bbs.westos.org/