Apache mod_rewriteを使って階層を飛ばす

開発環境が下記になってて、そのままApache公開フォルダにつっこみたい…
てことでmod_rewriteで飛ばす

開発環境は、
WindowsXP
Apache
バージョン管理ソフトにsubversion

<subversion上のtrunc>
trunc
| – htdocs
| – sql
| – docs
etc ..

Apache公開フォルダにcheckout

<開発環境>
公開フォルダ内
maindev
| – htdocs
| – sql
| – docs
etc ..

mod_rewriteを有効にするためApache/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
をコメントアウト外す

.htaccessが使えるように公開フォルダの
AllowOverride All
に変更

.htaccessを作成
RewriteEngine On
RewriteBase /
RewriteRule maindev/$ maindev/htdocs/$1 [R=301]

ブラウザでアクセスして確認、できた

ログを残したかったらhttpd.confに

RewriteLog logs/rewrite.log
RewriteLogLevel 5

を記載

RewriteRule ^/maindev/$ maindev/htdocs/$1 [R=301]
にすると動かないのはなぜだろう。。
ちゃんとリファレンス読まないと(リファレンスややこしい)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください