ApacheModリライト
mod_rewrite は、ページがapacheによってフェッチされる前に、クライアントによって要求されたURLの書き換えを可能にするapacheモジュールです。
たとえば、www.site.com / products.php?code =459は、www.site.com / products/459またはwww.site.com/products/459.htmlと書くことができます。
2番目のURLは、.htaccessファイルで指定された書き換えルールを使用してmod_rewriteによって最初のURLに書き換えられます。
Modリライトを有効にする
mod_rewriteモジュールを有効にするには、a2enmodコマンドを使用します。
$ sudo a2enmod rewrite
このモジュールを無効にするには:
$ sudo a2dismod rewrite
.htaccessを有効にする
次にファイルを編集します:
/etc/apache2/sites-enabled/000-default
セクションを探してください:
<directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </directory>
AllowOverride NoneをAllowOverrideFileInfoに置き換えます:
<directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Order allow,deny allow from all </directory>
ここでapacheを再起動します
$ sudo /etc/init.d/apache2 restart
Htaccessルールをテストする
次に、.htaccessファイルを/ var / www /フォルダーに配置して、modの書き換えをテストします
mod_rewriteが機能しているかどうかをテストするには、.htaccessファイルにガベージテキストの保存を入力してから、そのフォルダーのファイルをブラウザーで開きます。
apacheログファイルに500内部サーバーエラーと.htaccessエラーが表示されるはずです。これは、mod_rewriteが有効になっていることを示しています。
次に、いくつかの書き換えルールを.htaccessファイルに入れます
RewriteEngine on RewriteRule ^([0-9]+).html$ index.php?id=$1
たとえば、folder/23.htmlをfolder/index.php?id=23に置き換える必要があります。
リンクとリソース
mod rewriteの設定とhtaccessルールの作成に関する詳細と手順については、公式のドキュメントページをご覧ください。リンクの一部を以下に示します:
1. Apache1.3modの書き換え
2。 http://httpd.apache.org/docs/1.3/howto/htaccess.html
3。 http://httpd.apache.org/docs/1.3/configuring.html#htaccess
4。 http://httpd.apache.org/docs/2.2/howto/htaccess.html
5。 http://wiki.apache.org/httpd/DistrosDefaultLayout