2011-03-18 58 views
0

親愛的鄉親, 目前重寫應該重定向如何通過RewriteRule只重定向主Root/index.php而不是Root/Folder/index.php?

/index.php/en/home

而對於這個通過以下規則正常工作:

RewriteRule ^index.php /en/home [R=301] 

然而,當/someotherfolder/index.php被調用,即使如此,它重定向到/en/home而它不應該!我怎麼能硬編碼它只重寫,條件是它的root-index.php文件,而不是任何index.php文件坐在其他更深的文件夾?

非常感謝您的建議!非常感激。

回答

1

這裏是一個工作示例,希望對您有所幫助。

RewriteLog "/var/log/httpd/rewrite_log" 
RewriteLogLevel 3 

Alias /dummy.org /tmp/dummy.org 

<Directory /tmp/dummy.org> 
    Options FollowSymLinks 
    RewriteEngine On 
    RewriteRule ^index.htm /en/somepage [R=301] 
</Directory> 

如果我使用 「http://127.0.0.1/dummy.org/index.htm」 它被改寫爲 「http://127.0.0.1/en/somepage」

(3) [perdir /tmp/dummy.org/] strip per-dir prefix: /tmp/dummy.org/index.htm -> index.htm 
(3) [perdir /tmp/dummy.org/] applying pattern '^index.htm' to uri 'index.htm' 
(2) [perdir /tmp/dummy.org/] rewrite 'index.htm' -> '/en/somepage' 
(2) [perdir /tmp/dummy.org/] explicitly forcing redirect with http://127.0.0.1/en/somepage 
(1) [perdir /tmp/dummy.org/] escaping http://127.0.0.1/en/somepage for redirect 
(1) [perdir /tmp/dummy.org/] redirect to http://127.0.0.1/en/somepage [REDIRECT/301] 

如果我使用 「http://127.0.0.1/dummy.org/someotherfolder/index.htm」 它不得到改寫

(3) [perdir /tmp/dummy.org/] add path info postfix: /tmp/dummy.org/someotherfolder -> /tmp/dummy.org/someotherfolder/index.htm 
(3) [perdir /tmp/dummy.org/] strip per-dir prefix: /tmp/dummy.org/someotherfolder/index.htm -> someotherfolder/index.htm 
(3) [perdir /tmp/dummy.org/] applying pattern '^index.htm' to uri 'someotherfolder/index.htm' 
(1) [perdir /tmp/dummy.org/] pass through /tmp/dummy.org/someotherfolder 

-Martin

1

最好調試RewriteRule,就是打開重寫過程的日誌記錄。

<VirtualHost x.x.x.x> 

    ... 

    RewriteEngine On 
    RewriteLog "/var/log/httpd/rewrite_log" 
    RewriteLogLevel 3 

    RewriteRule ..................... 

    ... 
</VirtualHost> 

一個問題,是虛擬主機部分或目錄部分內的重寫規則?

-Martin

+0

+1,它的一個目錄中(共享主機上沒有虛擬的plesk l主機權限) – Sam 2011-03-18 19:28:05

+0

@Sam你可以請張貼目錄部分(和別名,如果你使用)。它使分析起來更簡單。 – MNeimeier 2011-03-18 19:47:05

+0

我重新說明了我的問題。這有幫助嗎?謝謝! – Sam 2011-03-18 19:51:57

相關問題