ヒント:このヒントを見ると、現在の記事は元のemlogブログシステムから移行されたものであり、記事の公開日が古すぎて、レイアウトや内容が完全でない場合があります。ご了承ください。
.htaccess の仮想静的ルール
日付:2017-12-4 阿珏 折腾代码 浏览:1701 回 コメント:1 件
Apacheのmod_rewriteは非常に強力であり、ウェブサイトの構築時にはこれを使用して仮想静的を実現することができます。Apache が mod_rewrite 機能を有効にしているかどうかを確認する#
phpinfo () 関数を使用して環境設定を確認することができます。"Loaded Modules" を見つけることができます。ここには、apache2handler で有効になっているすべてのモジュールがリストアップされています。"mod_rewrite" が含まれている場合、すでにサポートされているため、設定を続行する必要はありません。
"mod_rewrite" が有効になっていない場合は、apache ディレクトリの "/apache/conf/" に移動し、httpd.conf ファイルを見つけます。そして、"LoadModule rewrite_module" を見つけ、前にある "#" を削除して機能を使用します。
"LoadModule" エリアを見つけることができない場合は、最後の行に "LoadModule rewrite_module ,modules/mod_rewrite.so" を追加します(独自の行)。その後、apache サーバーを再起動します。
再び phpinfo () 関数を使用して環境設定を確認すると、"mod_rewrite" が項目として表示されます。
apache サーバーで.htaccess をサポートする#
自分のローカル APACHE サーバーで ".htaccess" をサポートするにはどうすればよいですか? APACHE の CONF ディレクトリの httpd.conf ファイルを開きます。 Options FollowSymLinks AllowOverride None を Options FollowSymLinks AllowOverride All に変更します。
.htaccess ファイルを作成する#
.htaccess ファイルを作成する際には注意が必要です。直接作成することはできません。メモ帳の「名前を付けて保存」メニューを使用して、ファイル名ウィンドウに ".htaccess" と入力し、保存をクリックします。
rewrite ルールの学習#
RewriteEngine on #rewriteengine はリライトエンジンのオンオフを切り替えるためのもので、on はオン、off はオフを意味します。
RewriteRule ([0-9]{1,})$index.php?id=$1 ここでは、RewriteRule はリライトルールであり、正規表現の文であり、([0-9]{1,}) は数字で構成されていることを示し、$ は終了フラグであり、数字で終わることを示します。
仮想静的ページを実現するには、次のルールを使用します:
RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$index.php?action=$1&id=$2
以下は私のブログの.htaccess です。#
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post-([0-9]{1,}).html$ index.php?post=$1
</IfModule>
http から https への強制リダイレクトのルール#
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
ユーザーコメント:
广东自考网 6 ヶ月前 (2020-08-28)
学びました。ブロガーの共有に感謝します。