内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
centos5
•
sandbox
•
rsync
•
letsencrypt
•
ripgrep
•
rust
•
quicklook
•
shell
•
cloudflare_workers
apache:mod_rewrite
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== mod_rewrite ====== URLを書き換えて、別のコンテンツを表示したり、リダイレクトしたりすることができるApache拡張モジュール。 ===== バーチャルホスト(SSL)で使う場合 ===== 通常サイトが非バーチャルホストで、SSLサイトがバーチャルホストに設定されている場合、 <code> Listen 80 Listen 443 Include conf/extra/proxy-ajp.conf # ProxyPassが設定されている Include conf/extra/rewrite.conf # RewriteRuleが設定されている <VirtualHost _default_:443> SSLEngine On ... </VirtualHost> </code> proxyなどの設定はSSLサイトに引き継がれるが、rewriteは引き継がれない。 <code> Listen 80 Listen 443 Include conf/extra/proxy-ajp.conf # ProxyPassが設定されている Include conf/extra/rewrite.conf # RewriteRuleが設定されている <VirtualHost _default_:443> SSLEngine On ... </VirtualHost> </code> 混乱を避けるため、Apacheでは常にバーチャルホストで運用することを推奨する。 ===== RewriteBase ===== RewriteBaseは、変換後のURLのベースになるディレクトリ。オリジナルのリクエストには影響しない。記述を省略すると設定した場所(.htaccessを置いた場所やDirectoryディレクティブが指定する場所)になる。 ドキュメントルート/hoge/.htacess に以下の記述を行った場合、 <code> RewriteEngine on RewriteBase /fuga/ RewriteCond %{REQUEST_URI} \.html$ RewriteRule ^(.*)$ $1 [L] </code> /hoge/moge/index.html へアクセスすると、リクエストは /fuga/moge/index.html に変換される。 ※ RewriteRule の ^(.*)$ がマッチするのは.htaccessを設置したパス以下、すなわち moge/index.html であって、オリジナルのURLの /hoge/ の部分は変換後のURLに渡されない点にも注意 ただし、この書き方をすると /hoge/index.html が /fuga/index.html に変換されない。 <code> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} \.html$ RewriteRule ^(.*)$ /fuga/$1 [L] </code> とするのが正解。RewriteBaseは基本的にドキュメントルートを基点に変えるディレクティブだと思ったほうがいいだろう。
apache/mod_rewrite.txt
· 最終更新:
2011/06/01 04:00
by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ