web.config (IIS) および .htaccess (Apache) の構成

web.config (IIS) および .htaccess (Apache) の構成

xml

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<構成>
	<システム.Webサーバー>

		<httpプロトコル>
			<カスタムヘッダー>
				<add name="Access-Control-Allow-Origin" value="URL_TO_ALLOW"/>
				<add name="アクセス制御許可メソッド" value="GET、PUT、POST、DELETE、OPTIONS"/>
				<add name="Access-Control-Allow-Headers" value="Content-Type"/>
			</カスタムヘッダー>
		</httpプロトコル>

</system.webServer>
</構成>

強制HTTPS

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<構成>
	<システム.Webサーバー>

		<書き直し>
			<ルール>

			<rule name="HTTPS を強制" stopProcessing="true">
  		<マッチURL="(.*)" />
  		<条件論理グループ="MatchAll">
    	<add input="{HTTPS}" pattern="off" ignoreCase="true" />
    	<add input="{REQUEST_URI}" negate="true" pattern="/ADD_PATTERM_TO_EXCLUDE_FILES_OR_FOLDERS/" ignoreCase="true" />
  		</条件>
  		<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
			</ルール>

			</ルール>
		</書き換え>

</system.webServer>
</構成>

ブラウザキャッシュ

# ブラウザのキャッシュを有効にする
<IfModule mod_expires.c>
有効期限有効日
ExpiresByType image/jpg 「アクセス 1 年」
ExpiresByType image/jpeg "アクセス 1 年"
ExpiresByType イメージ/gif 「アクセス 1 年」
ExpiresByType image/png "アクセス 1 年"
ExpiresByType text/css "アクセス 1 か月"
ExpiresByType application/pdf 「アクセス 1 か月」
ExpiresByType text/x-javascript "アクセス 1 か月"
ExpiresByType application/x-shockwave-flash 「1 か月アクセス」
ExpiresByType image/x-icon「アクセス 1 年」
有効期限デフォルトは「2日間アクセス」
</モジュール>

カスタムエラーページ

# 4xx および 5xx エラー用のカスタム エラー ページを設定します
エラードキュメント 403 /custom-403.html
エラードキュメント 404 /custom-404.html

強制HTTPS

RewriteEngine オン
RewriteCond %{HTTPS} オフ
# まずHTTPSに書き換えます:
# ここにwww.を入れないでください。すでにwww.がある場合はそれが追加されますが、そうでない場合は
# 後続のルールでそれをキャッチします。
書き換えルール .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# ここで、間違ったドメインへのリクエストを www を使用するように書き換えます。
# [NC]は大文字と小文字を区別しない一致です
書き換え条件 %{HTTP_HOST} !^www\. [NC]
書き換えルール .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

構成ファイルへのアクセスを禁止する

# すべての .htaccess ファイルへのアクセスを拒否します
<ファイル ~ "^.*\.([Hh][Tt][Aa])">
注文許可、拒否
すべて拒否
すべてを満足させる
</ファイル>

url書き換え

RewriteEngine オン
書き換え条件 %{REQUEST_FILENAME} !-f
書き換え条件 %{REQUEST_FILENAME} !-d
書き換えルール ^ index.php [QSA,L]

さて、これでこの記事は終わりです。必要な友人はこの記事から学ぶことができます。

<<:  Vue vee-validateプラグインの簡単な使い方

>>:  Mysql Explainコマンドの使用と分析

推薦する

MySQLの日次統計レポートでは、その日にデータがない場合には0が入力されます。

1. 問題の再現:各日の合計数を日ごとにカウントします。データのない日がある場合、グループ化によっ...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

HTML テーブル マークアップ チュートリアル (30): セルの暗い境界線の色属性 BORDERCOLORDARK

セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...

ウェブページ上でデスクトップ exe プログラムを呼び出す簡単な方法

この記事では主に、Web ページ上でデスクトップ exe プログラムを呼び出す方法を紹介します。 W...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明

暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...

MySQLオンラインDDL gh-ostの使用の概要

背景: DBA として、大規模なテーブルの DDL 変更のほとんどは、Percona の pt-on...

MySQL におけるデータベース間関連クエリメソッド

ビジネスシナリオ: 異なるデータベース内のテーブルをクエリするたとえば、関連付けられるテーブルは、マ...

Zabbix Agent2を使用してOracleデータベースを監視する方法

概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...

7つのMySQL JOINタイプのまとめ

始める前に、これから紹介する JOIN タイプを示すために 2 つのテーブルを作成します。テーブルを...

IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル

1. Dockerfileを書く(1)プロジェクト名を右クリックして新しいテキストファイルを作成し、...

Vueはドラッグプログレスバーを実装します

この記事では、ドラッグプログレスバーを実現するためのVueの具体的なコードを例として紹介します。具体...

VMware Workstation Pro でサーバー仮想マシンを構築する (グラフィック チュートリアル)

私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....

MySQL 5.7.24 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、参考までにMySQL 5.7.24圧縮パッケージのインストールチュートリアルを紹介しま...