2010-11-30 4 views
0

私が達成しようとしているのは、ページがサブディレクトリから提供されているという事実を隠すことです。サブディレクトリをそのディレクトリに書き換えた後に「隠す」ことはできますか?

私は現在.htaccess

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/blog 
RewriteRule (.*) /blog/$1 

次これは私が何をしたいんです。 /blogのページが表示され、ユーザーにはルートディレクトリにあるという印象を与えます。

ただし、ユーザーがhttp://www.example.com/blogを訪問した場合、同じページが表示されます。可能であれば、私は実際に彼らに/blog/blogを得ることを願っています。

私が心配している主な理由は、実際のユーザーのためではなく、間違ったURLでページをインデックスするロボットのためです。

答えて

2

これは可能ですが、ちょっと騙さなければなりません。基本的に、THE_REQUESTは書き換え中に変更されることはありませんので、テストすることができます。

RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} /blog 
RewriteRule . - [F] 
RewriteCond %{REQUEST_URI} !^/blog 
RewriteRule (.*) /blog/$1 

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

関連する問題