apacheの書き直し、ログ切断、抗ホットリンクを書き換えます

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(追加クエリ文字列)の意味、フラグ軍一度書き換えエンジンは、単に既存の置換文字列を置き換えるのではなく、クエリ文字列を追加します。書き換えルールを経由して、クエリ文字列内の追加情報は、このタグを使用することができます。

NCNOCASEパターンであることを、大文字小文字を無視することを意味し(ケース無視して)、パターンの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は、元のリソース現在のリソース要求を示します

おすすめ

転載: www.cnblogs.com/li-dy/p/12091467.html