A、リライトリライト
mod_rewrite
これは、に基づいて提供正規表現動的にルールを変更するための着信要求メソッドのURL。あなたは、内部サイトのファイルにマッピングされたURLのいずれかを定義することができます
図1は、概念を書き換えるに来て、効果を解決する、という現象を示しています
の原則をもたらすことができる具体的な手順を実装する方法について説明2-1
練習2-2
3原則の分析は、彼らの知識を高めるために、
4まとめ
1、書き換え需要
我々は、最適化により、時々、WebサーバとしてApacheを使用するか、またはSEOは、単純なURLパスである場合には、より親しみやすいURLに入力するURLの必要性は、この時間は、あなたが書き換え上書き機能を使用することができます。
また、セキュリティチェーンを実装することができます書き換え、ドメインジャンプ
使用rewrite前:article/php?ip=1
使用rewrite后: article/1.html
使用書き換え機能は、最初のmod_rewriteモジュールを有効にする必要があります。yumをインストールapacheのデフォルトが開かれました。
2、リライト使用コメント
書き換えルールは、ディレクトリコマンドで設定することができます
3つのコア書き換え学習があるRewriteEngine、するRewriteCond、のRewriteRule
2.1 RewriteEngine
書き換え書き換えを可能にするために、マスタースイッチ機能を書き換え
RewriteEngine on
2.2のRewriteCond
RewriteCondルールは、要求条件が成立するRewriteCond構成である場合、条件を定義し、後者のステートメントはするRewriteRuleのRewriteCond実行されます
例えば:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Mozilla//5/.0.*
RewriteRule index index.html
上記のルールは述べています。httpリクエストHTTP_USER_AGENTに試合が*で始まる// 5 / 0.0 Mozillaのであれば。インデックスにアクセスすると、自動的にindex.htmlをにアクセスできるようになります
上下関係を対応するRewriteCondとのRewriteRule。それとものRewriteRuleを一致させるために、いくつかのRewriteCondを有することができます
**のRewriteCond共通HTTPリクエストは、道に一致します
RewriteCond %{HTTP_REFERER} (www.mytest.com)
RewriteCond %{HTTP_USER_AGENT} ^Mozilla//5/.0.*
RewriteCond %{REQUEST_FILENAME} !-f
HTTP_REFERER
ユーザーのアクセス元を特定
ケース:
RewriteCond %{HTTP_REFERER} (www.mytest.com)
RewriteRule (.*)$ mytest.html
# 如果访问的上一个页面是www.mytest.com,无论当前访问的是哪个页面,都会跳转到mytest.html
REQUEST_FILENAME
現在のアクセスでファイルをマッチング
ケース:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news/sports/(\d+)\.html web/index\.php?c=news&a=sports&num=$1 [QSA,NC,L]
# 访问news/sports/123.html,真实访问的是web/index.php?c=news&a=sports&num=123
-d
それは、ディレクトリ、いないかどうかを判断するためのディレクトリであるかどうか:!-d
-f
それは価格を尋ねるファイル、か否かを判断されているかどうか:!-f
$1
最初のパラメータことを示します
2.3のRewriteRule
RewriteRuleがするRewriteCondと一緒に使用されている、のRewriteRule実装プロセスが成功したマッチするRewriteCondであります
RewriteRule
言葉遣い:
RewriteRule Pattern Substitution [flags]
Pattern
これは、定期的な試合です
Substitution
内容が一致して交換してください
[flags]
パラメータの制限
[QSA]
qsappend(追加クエリ文字列)の意味、フラグ軍一度書き換えエンジンは、単に既存の置換文字列を置き換えるのではなく、クエリ文字列を追加します。書き換えルールを経由して、クエリ文字列内の追加情報は、このタグを使用することができます。
NC
NOCASEパターンであることを、大文字小文字を無視することを意味し(ケース無視して)、パターンのURLは現在、「AZ」と「AZ」に差がないと一致したとき。私たちのURL自体は大文字と小文字を区別しませんので、これは一般的に、追加されます。
Rredirect(强制重定向)的意思,适合匹配Patter后,Substitution是一个http地址url的情况,就调整出去了。
L
、最後であることを意味、(ルールを終了するには)すぐに、もはやプログラミング言語に似た次のルール、一致しない停止に一致しているbreak
から飛び出し、構文を。
二、Apacheのログをカット
1、なぜログ切断
サイトへのアクセスが増加すると、Webサービスによって生成されるログファイルには、成長され、この時、ログファイルサーバは、多くのスペースを占有するだけでなく、トラブルのログ分析の多くだけでなく、
図2に示すように、ログは2つの方法で分割されています
2.1のrotatelogs
rotatelogsは、Apacheビルトインされているログ切削工具
ケース:毎日のログファイルを記録使用のrotatelogs
# 编辑httpd主配置文件 /etc/httpd/conf/httpd.conf
# 注释下面两行
ErrorLog "logs/error_log"
CustomLog "logs/access_log" combined
# 添加下面两行
ErrorLog "|/usr/sbin/rotatelogs -l logs/error_%Y%m%d.log 86400"
CustomLog "|/usr/sbin/rotatelogs -l logs/access_%Y%m%d.log 86400" combined
説明:
86400回転時間、秒であります
2.2タイムライン
Cronologログラウンドロビン(回転)ツールである、あなたは、毎日または毎月に保存されたファイルにはApache、Tomcatおよび他のWebサーバー上のログ出力をカットするためにそれを使用することができます。
cronologインストール
[root@ ~]# tar zxf cronolog-1.6.2.tar.gz
[root@ ~]# cd cronolog-1.6.2/
[root@ cronolog-1.6.2]# ./configure && make && make install
ケース:使用すると、毎日のログファイルを記録cronologs
ErrorLog "|/usr/local/sbin/cronolog logs/error-%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog logs/access-%Y%m%d.log" combined
拡張子:ログ時給投票を生成します
CustomLog "|/usr/local/sbin/cronolog logs /access_%Y%m%d%H.log" combined
3概要
cronolog安定知名度の高いシンプルな方におすすめですcronolog、。
三、apacheのセキュリティチェーン
アンチホットリンクのサイトコードは、他の人が私たちのサーバーイメージ、ドキュメント、ビデオ、およびその他のリソースを呼び出す防ぐためです。経営資源の他の誰か盗難した場合、サーバーの融資への圧力を増加します。
抗ホットリンクところで、あなたはこのサイトを取得したい場合は、このサイトでは唯一のも効果的にサーバーを減らす買収、を介してアクセスすることができる画像データ、参照することにより、サーバの画像を得るために、サードパーティのサイトに制限を設定することができます資源。
1、セキュリティチェーンを達成書き換えます
- 最初のホストと第二ホストは、Apacheサービスをインストールされている、ことができます正常にアクセス
- 最初のホームフォトギャラリーを追加します。
[root@localhost html]# vi index.html
<h1>防盗链主机</h1>
<img src='123.pag'/>
1. RewriteEngine On
2. RewriteCond %{HTTP_REFERER} !^http://www.myitcast.com/.*$ [NC]
3. RewriteCond %{HTTP_REFERER} !^http://www.myitcast.com$ [NC]
4. RewriteCond %{HTTP_REFERER} !^http://myitcast.com/.*$ [NC]
5. RewriteCond %{HTTP_REFERER} !^http://myitcast.com$ [NC]
6. RewriteRule .*\.(gif|jpg|swf)$ http://www.myitcast.com/link.png [R,NC]
説明:
第1条:リライトリライトを回し
2〜5:信頼サイトを開くことが許可され、サイトには、リソースの写真にアクセスすることができます
第6条:GIF訪問したサイト| JPG | SWF他のタイプのリソースは、ジャンプします
2、SetEnvIfNoCase
ブラウザヘッダ情報をブロックするかどうかを決定することによりDaolian要求
SetEnvIfNoCase Referer "^$" local_ref
SetEnvIfNoCase Referer "www.benet.com/.*$" local_ref
SetEnvIfNoCase Referer "benet.com/.*$" local_ref
<filesmatch "\.(mp3|mp4|zip|rar|jpg|gif)">
Require all denied
Require env local_ref
</filesmatch>
説明:
特定の条件が満たされたときSetEnvIfNoCase、変数を割り当てる、すなわち、要求属性は、クライアントに応じて環境変数を設定します。
リファラー:URLは、元のリソース現在のリソース要求を示します