2017-04-01 79 views
0

我想將我的域的子目錄中的所有文件重定向到根目錄,以便從URL中隱藏子目錄。例如,我想www.domain.com/blog/test1.php重定向到www.domain.com/test1.phpwww.domain.com/blog/test2.php重定向到www.domain.com/test2.php通過htaccess將子目錄中的所有文件重定向到root

我怎樣才能通過.htaccess文件實現這一目標?我到目前爲止所嘗試的所有內容都只是將子目錄中的所有文件重定向到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有一個額外的'/',第二個是不必要的主機名。我相信這是值得一試的:

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

謝謝,但只是重定向到主頁。 – zivuska

+0

那麼這個規則是否有所作爲?請在發佈完整的.htaccess文件後,提供您輸入的URL以及(確切)所需的URL。也請嘗試類似http:// /blog/foo(其中foo是不存在的博客文章),並告知我們*返回了哪些內容。 – BobHy

相關問題