2011-07-29 4 views
0

私はサブディレクトリにサイトを作成していて、そのサイトがルートにあるかのように見せたいと思います。.htaccess:ルートURLをサブディレクトリにリダイレクトしますが、ルートURL構造を維持します

以下のMod_Rewriteコードを使用してサイトルートをサブディレクトリにリダイレクトさせましたが、ファイルが格納されているフォルダは表示されません。現在

www.example.com/sitefiles/content/

はいかが:www.example.com/content

おかげ

Options +FollowSymlinks -MultiViews 
RewriteEngine on 
RewriteBase/
RewriteRule ^$ /sitefiles/ [L] 
RewriteRule (.*) /sitefiles/$1 [L] 
+0

そのサーバーでhttpd.confを変更できますか? –

答えて

0

まあ、ディレクトリは任意のリストに表示する理由はないはず、とあなたが投稿しているmod_rewriteのは、あなたに許可する必要がありますがあなたが言ったようにします。それでも、私は別の方法をとるでしょう:

Options +FollowSymLinks +Indexes 

RewriteEngine on 
RewriteBase/
RewriteRule ^$ sitefiles/ [L] 
RewriteRule ^(.+)$ sitefiles/$1 [L] 

希望します。

を必要と それは.htaccessのとmod_rewriteを介して行われる場合
2

、その後、これを使用する:あなたが明示的にWebサイトのルートがヒットされるページを指定していないので

Options +FollowSymlinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !^/sitefiles/ 
RewriteRule (.*) /sitefiles/$1 [L] 
  1. が、そこですRewriteRule ^$ /sitefiles/ [L]

  2. 書き換えループ(既に書き換えられたURLが再び書き換えられる場合)を防ぐため、メインの書き換えルールの条件を追加する必要があります。RewriteCond %{REQUEST_URI} !^/sitefiles/

関連する問題