目次
1。フォースHTTPSジャンプ
2。ファイル拡張子(.htmlや.phpなど)を削除します
3。WWWを持ち込むことを余儀なくされているか、ドメイン名ではない
4。擬似静的URLをカスタマイズします(記事IDがタイトルとして表示されます)
5.画像リンク泥棒を防止します
6.マルチコンディションの組み合わせ:特定のユーザーエージェントのみにリダイレクトします
7.単純なURLリダイレクト(古いページ→新しいページ)
8。「Pretty URL」サポートを有効にします(PHPフレームワークで一般的に使用されるなど)
ヒント
ホームページ 運用・保守 Apache Apacheはルールの例を書き直します

Apacheはルールの例を書き直します

Jul 31, 2025 am 07:34 AM

フォースHTTPSジャンプ:r = 301を使用して、書き直しを介して非HTTPSリクエストを要求し、httpsに永続的にリダイレクトします。 2。ファイル拡張子を削除します:!-fおよび!-d条件を使用して、as /art as /about.phpを書き直します。 3. wwwまたはwwwなし:http_hostを介して一致し、301を統一ドメイン名形式にジャンプします。 4.擬似静的URLのカスタマイズ:parse /article /123 /title to /article.php?id=123; 5.画像リンクの盗難を防ぐ:参照ヘッダーを確認し、このサイトからのものがない場合は、プロンプト画像または403を返します。 6.マルチコンディションの組み合わせリダイレクト:http_user_agentを介して悪意のあるクローラーを一致させ、ブロックされたページにジャンプします。 7.単純なURLリダイレクト:古いページ301を新しいページにジャンプして、SEO重量を維持します。 8。美しいURLをオンにします:すべての非ファイルおよび非方向の要求をindex.phpにポイントして、フロントエンドコントローラーモードをサポートします。すべてのルールは、書き換えがオンになった後に有効にする必要があります。エラーがサービスの利用不能を引き起こすのを防ぐために、構成アイテムを1つずつテストおよびバックアップすることをお勧めします。

Apacheはルールの例を書き直します

Apache Rewriteruleは、URLリクエストを書き換えるためのApacheのmod_rewriteモジュールが提供する強力な機能です。多くの場合、SEOに優しいリンク、Webサイトのジャンプ、リンクの盗難を防ぎ、強制HTTPSジャンプを実装するために使用されます。 .htaccessファイルまたはApache仮想ホスト構成のいくつかの一般的で実用的な書き直し例を以下に示します。

Apacheはルールの例を書き直します

1。フォースHTTPSジャンプ

すべてのhttpリクエストをhttpsにリダイレクトします。

書き換えます
書き換えた%{https} off
rewriterule ^(。*)$ https://%{http_host}%{request_uri} [l、r = 301]
  • RewriteCond %{HTTPS} off :現在は非HTTPSかどうかを決定します。
  • R=301 :301永久リダイレクトに戻ります。
  • L :これは最後のルールであり、将来処理されないことを意味します。

サイト全体にHTTPSが必要なシナリオに適しています。

Apacheはルールの例を書き直します

2。ファイル拡張子(.htmlや.phpなど)を削除します

Accessing /about egation /about.phpなど、 .php拡張機能を非表示にします:

書き換えます
rewritecond%{request_filename}!-f
rewritecond%{request_filename}! -  d
rewriterule ^([a-za-z0-9_-])$ $ 1.php [l]
  • !-f and !-d :要求されたファイルまたはディレクトリが実際の既存のファイルではないことを確認し、競合を避けてください。
  • ^([a-zA-Z0-9_-] )$ :拡張機能なしでURLを一致させます。
  • $1.php :同じ名前の.phpファイルに内部書き換えます。

.php 、静的ページで動作する.htmlに置き換えることができます。

Apacheはルールの例を書き直します

3。WWWを持ち込むことを余儀なくされているか、ドメイン名ではない

強制www:

書き換えます
rewritecond%{http_host} ^example \ .com $ [nc]
rewriterule ^(。*)$ https://www.example.com/$1 [l、r = 301]

www(より一般的な)を持ち込むことを余儀なくされました:

書き換えます
rewritecond%{http_host} ^www \ .example \ .com $ [nc]
rewriterule ^(。*)$ https://example.com/$1 [l、r = 301]
  • [NC] :ケースを無視します。
  • 301ジャンプを使用することは、SEOにとって有益です。ドメイン名の重みを統合します。

4。擬似静的URLをカスタマイズします(記事IDがタイトルとして表示されます)

書き換え/article/123/my-great-article to /article.php?id=123

書き換えます
rewriterule ^article/([0-9])/([a-za-z0-9_-])$/article.php?id=$1 [l]
  • 最初のブラケットは記事IDをキャプチャします。
  • 2番目のブラケットはタイトルをキャプチャします(SEOのみ、ごくわずかです)。
  • 実際の処理では、 idパラメーターを使用します。

この方法は、バックエンドロジックが変更されていないままである間、URLをより友好的にします。


5.画像リンク泥棒を防止します

他のWebサイトが画像リソースを直接参照することをブロックします。

書き換えます
rewritecond%{http_referer}!^$
rewritecond%{http_referer}!^https://(www \。)?yourdomain \ .com/.*$ [nc]
rewriterule \。(jpg | jpeg | png | gif | webp)$ https://yourdomain.com/nohotlinking.jpg [r、l]
  • Refererヘッダーが空であるか(直接アクセスを許可します)、またはドメイン名から来ているかどうかを確認してください。
  • リンクが盗まれたときに一般的な画像形式を一致させ、プロンプト画像を返します。

返品403ステータスコードに置き換えることができます:

 rewriterule \。(jpg | jpeg | png | gif)$  -  [f、l]

6.マルチコンディションの組み合わせ:特定のユーザーエージェントのみにリダイレクトします

例:クローラーをブロックするか、モバイルユーザーをリダイレクトします。

書き換えます
rewritecond%{http_user_agent} ^badbot [nc、または]
rewritecond%{http_user_agent} spambot [nc]
rewriterule ^。*$ https://example.com/blocked.html [r、l]
  • OR 、「または」関係を表し、次の条件は満たされた場合にのみトリガーされます。
  • 悪意のあるクローラーまたはテストロボットをブロックするために使用されます。

7.単純なURLリダイレクト(古いページ→新しいページ)

 rewriterule ^old-page \ .html $ /new-page.html [r = 301、l]
  • ウェブサイトが再設計された後に古いリンクを利用できるようにするのに適しています。
  • R=301を使用して、検索エンジンに永久に移行されたことを伝えます。

8。「Pretty URL」サポートを有効にします(PHPフレームワークで一般的に使用されるなど)

たとえば、Laravel、Symfonyなどのフレームワークは、すべてのリクエストをindex.phpに向ける必要があります。

書き換えます
rewritecond%{request_filename}!-f
rewritecond%{request_filename}! -  d
rewriterule ^(。*)$ index.php/$ 1 [qsa、l]
  • QSA :元のクエリパラメーター( ?id=1など)を保持します。
  • フロントコントローラーモードに適しています。

ヒント

  • 書き換えをオンにします:すべてのルールRewriteEngine Onが必要です。
  • テスト順序:ルールは順番に実行され、 Lフラグはその後の干渉を避けるために使用されることに注意してください。
  • デバッグのヒントRewriteLog (古いバージョン)を使用するか、404 Log curl -Iテストを渡してジャンプできます。
  • 範囲.htaccessのパスには/にあり、仮想ホストで調整する必要がある場合があります。

基本的にこれらの一般的なシナリオ。実際にそれを使用して、通常の要求への偶発的な損傷を避けるために、1つずつテストすることをお勧めします。書き直しは強力ですが、定期的なエラーにより、ウェブサイト全体がアクセスできない場合があります。変更前に構成をバックアップするのが最善です。

以上がApacheはルールの例を書き直しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

ApacheにSSL証明書を暗号化するLet's Encyptをインストールする方法は? ApacheにSSL証明書を暗号化するLet's Encyptをインストールする方法は? Aug 04, 2025 am 09:47 AM

CertbotとそのApacheプラグインをインストールします。 2。証明書を取得してドメイン名を構成するためにcertbotを実行します。 3.オプションで、HTTPからHTTPSへの自動リダイレクトを構成します。 4.自動更新をセットアップし、ドライランテストに合格します。 5.インストールを確認し、Apacheの通常のリロード構成を確認します。証明書が正常に展開されると、更新は自動的に管理されます。プロセス全体が完了すると、安全なHTTPSアクセスを実現できます。

Apacheに適切なMPMを選択する方法は? Apacheに適切なMPMを選択する方法は? Jul 26, 2025 am 03:59 AM

thebestapachempmdependsonyourapplicationStackandtrafficneeds:1.Usepreforkifrelyingonnon-thread-safemoduleslikemod_phpandprioritizingSustability.2.USERTOTOHIGHTRAFFICWITHWITHWITHTHREAD-SAFESETUPSUPSINT.BETETEMEMORYEFIECTIENCE.

Apacheのパフォーマンスチューニングベストプラクティス Apacheのパフォーマンスチューニングベストプラクティス Aug 05, 2025 am 06:59 AM

useventmpmforhigh-concurrencyworkloads、特にwithphp-fpm、orpreforkonlyifrequiredbynon-thread-safemodules.2.enablekeepalivewithmaxkeepaliverequestssetso100andkeepalivetimeoutbetbet bet wiene2–5sondstobalanceconneftioneeandresurce

Apacheを最新バージョンにアップグレードする方法は? Apacheを最新バージョンにアップグレードする方法は? Aug 04, 2025 pm 03:18 PM

Checkurrentapacheversionsinghttpd-vorapache2-vandverifysvicstatusviasisstl.2.ondebian/ubuntu、upgradeusingsusudoapdat eandsudoaptinstallapache2、optionalAddingtheppa:andrej/apache2fornewersions.3.onrhels usesudodnfupdatadadagsud

ApacheでKeepaliveを構成する方法は? ApacheでKeepaliveを構成する方法は? Aug 03, 2025 am 07:06 AM

KeepAliveonは、持続的な接続を有効にします。 2.maxkeepaliverequests100接続あたりのリクエストの最大数を設定します。 3.KeePalivetimeout5後続のリクエストを待つためのタイムアウトを設定し、構成後にApacheを再起動し、Curlまたはブラウザ開発者ツールを使用して、KeepAliveがサーバーのパフォーマンスを最適化するために効果的かどうかを確認します。

Apacheでカスタム404エラーページを設定する方法は? Apacheでカスタム404エラーページを設定する方法は? Jul 27, 2025 am 02:20 AM

カスタム404エラーページを設定するには、ページファイルを作成してApacheでパスを構成する必要があります。 1.ウェブサイトルートディレクトリに404.htmlを保存するなど、カスタム404ページを作成します。 2。Webサイトルートディレクトリの.htaccessファイルにerperordocument404/404.htmlを追加して、AllowoverRideが有効になっていることを確認します。 3. VPSまたはスタンドアロンサーバーを使用する場合、仮想ホスト構成ファイル(000-DEFAULT.CONFなど)にErrorDocument404/404.htmlを追加し、Apacheサービスを再起動できます。 4.存在しないURLにアクセスして、カスタムページが有効になるかどうかをテストします。構成するとき

SSLCertificateFileとSSLCertificateKeyFileのディレクティブとは何ですか? SSLCertificateFileとSSLCertificateKeyFileのディレクティブとは何ですか? Jul 26, 2025 am 06:53 AM

SSLCertificateFileはSSL証明書ファイルへのパスであり、SSLCertificateKeyFileは秘密キーファイルへのパスです。前者は、サーバーのアイデンティティを確認するためにブラウザが使用するパブリックキーとID情報を含むCAによって発行された.crtまたは.pemファイルを指します。後者は、証明書の公開鍵に一致する秘密鍵の場所を指定し、厳密に機密および制限されたアクセスでなければなりません。 2つは適切に動作するために一致する必要があります。証明書と秘密鍵のモジュラス値が抽出されて比較されるかどうかを確認できます。 CSRが一貫していない場合は、CSRを再生して新しい証明書を取得する必要があります。構成するときは、パスが正しい、ファイルが存在し、権限が適切に設定されていることを確認します。そうしないと、ApacheがHTTPSサービスを開始できないか、セキュリティエラーが発生します。

Apacheで仮想ホストを構成する方法は? Apacheで仮想ホストを構成する方法は? Aug 01, 2025 am 04:16 AM

Webサイトディレクトリを作成し、テストページを追加します。 2。/etc/apache2/sites-abailable/、set servername、documentrootなどの下で仮想ホスト構成ファイルを作成します。 3. A2ENSITEを使用してサイトを有効にし、デフォルトサイトを無効にし、構成のテスト後にApacheをリロードします。 4.ローカルテスト中に /etc /ホストにドメイン名を追加し、127.0.0.1を指します。上記の手順を完了したら、Example.comにアクセスしてWebサイトのコンテンツを確認すると、仮想ホストの構成が成功します。

See all articles