2017-04-01 10 views
0

サブディレクトリをURLから隠すために、自分のドメインのサブディレクトリにあるすべてのファイルをルートディレクトリにリダイレクトしたいと思います。例えば、私は.htaccessファイルを経由して、これを達成するにはどうすればよいなどwww.domain.com/test2.phpサブディレクトリ内のすべてのファイルをhtaccess経由でルートにリダイレクト

にリダイレクトするwww.domain.com/test1.phpwww.domain.com/blog/test2.phpにリダイレクトするwww.domain.com/blog/test1.phpをご希望ですか?これまでに試したことは、サブディレクトリ内のすべてのファイルをwww.domain.comにリダイレクトするだけです。 ありがとうございます。私が使用して試した

RedirectMatch 301 ^/blog/$ example.com 
RewriteRule /blog/(.*) /$1 [PT] 
RewriteCond %{HTTP_HOST} ^www.example.com 
RewriteRule ^blog/(.*)$ example.com/$1 [L,R=301] 

は、このすべてのちょうどwww.example.comにリダイレクトします。

+0

試してみる価値があると思いますか? – starkeen

+0

私はRedirectMatch 301 ^/blog/$ http://example.com/を試しました。 RewriteRule /blog/(.*)/ $ 1 [PT]; RewriteCond%{HTTP_HOST}^www.example.com RewriteRule^blog /(.*)$ http://www.example.com/$1 [L、R = 301]これはすべてwww.example.comにリダイレクトされます。 – zivuska

答えて

0

自分でmod_rewriteを学習していますが、最初にRewriteRuleに余分な '/'があり、2番目に不要なホスト名があると思います。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^blog/(.*) $1 [L] 
</IfModule> 
+0

ありがとうございますが、それは単にホームページにリダイレクトされます。 – zivuska

+0

このルールはいくつか違いがありますか?この変更を加えた.htaccessファイル全体を投稿し、入力したURLと入力したURLを正確に記入してください。また、http:// /blog/foo(fooは存在しないブログの投稿です)のようなものを試してみて、返されたものをお知らせください。 – BobHy

関連する問題