人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

mod_rewrite でURI短縮にについて教えてください
ディレクトリ構造は下記のようになっています

www.hoge.jp/abc/xxx/複数file
www.hoge.jp/abc/xxx/複数directory/複数file
www.hoge.jp/abc/xxx/複数directory/複数directory/複数file
www.hoge.jp/abc/xxx/複数directory/複数directory/複数directory/複数file
www.hoge.jp/abc/yyy/複数file
www.hoge.jp/abc/yyy/複数directory/複数file
www.hoge.jp/abc/yyy/複数directory/複数directory/複数file
www.hoge.jp/abc/yyy/複数directory/複数directory/複数directory/複数file
www.hoge.jp/abc/zzz/複数file
www.hoge.jp/abc/zzz/複数directory/複数file
www.hoge.jp/abc/zzz/複数directory/複数directory/複数file
www.hoge.jp/abc/zzz/複数directory/複数directory/複数directory/複数file

このディレクトリ構造を短くして /abc/無しでアクセスできるように
また、Rewriteした部分の最後の/ が無い場合でも / 付きでアクセスできるように
RewriteRuleをどのようにすればいいのか教えて下さい、よろしくお願いします。

●質問者: nijinohasi
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.jp ABC hoge mod_rewrite Rewrite
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

>/abc/無しでアクセスできるように

RewriteEngine On
RewriteRule ^((xxx|yyy|zzz).*) /abc$1 [L]

>Rewriteした部分の最後の/ が無い場合でも / 付きでアクセスできるように

これがちょっと意味が分かりませんでした。

ディレクトリへのアクセスは / が無くても標準でつけるようになってませんか?

◎質問者からの返答

前回も親切にお答え頂きありがとうございました。文字数制限で長い説明が出来ませんでした

http://q.hatena.ne.jp/1156548377

前回教えていただいたようにしていたのですが、ディレクトリが増えたのと 階層が深い部分で、最後の / が無いとエラーになります。

Rewriteしていないディレクトリでは / が無い場合に自動的に / が付加されて正しくアクセスできますが、Rewriteした箇所では / が付加されずエラーになります。

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? [NC]

RewriteRule ^(.*) http://www.hoge.jp$1 [R=301,L]

RewriteRule ^/(xxx|yyy)/(.*)$ /abc/$1/$2 [L]


2 ● b-wind
●35ポイント

>前回も親切にお答え頂きありがとうございました。

すいませんがそれは別の方です。

試していませんが、

RewriteEngine On
RewriteRule ^((xxx|yyy|zzz).*) /abc$1 [PT,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^((xxx|yyy|zzz).*) /abc$1 [L]

のどちらかでいけると思います。

◎質問者からの返答

人違い大変失礼いたしました。

Apache httpd.conf の<VirtualHost>内に記述しているのですが、どちらもエラーになってアクセスできません、他に考えられることは無いでしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ