我這裏有一個網站在我的本地:的.htaccess重定向 「使用domain.tld /」 到 「使用domain.tld//home.html」 的
http://localhost/mysite/www/index.php
我有一些的RewriteRules這樣的重定向:
http://localhost/mysite/www/index.php?page=home
-> http://localhost/mysite/www/home.html
而現在,我想做一個像這樣的重定向:
http://localhost/mysite/www/
-> http://localhost/mysite/www/home.html
我有一個名爲REWRITE_BASE
的環境變量,其中包含/mysite/www/
。因此,我認爲這樣做是比較{REQUEST_URI}
到%{ENV:REWRITE_BASE}
...這樣的:
RewriteCond {REQUEST_URI} =%{ENV:REWRITE_BASE}
RewriteRule . %{ENV:REWRITE_BASE}home\.html [R=301,L]
但它不工作得很好。
爲了幫助你明白我想做的事,這裏是在PHP中的工作代碼做我想做什麼:
$rewriteBase = getenv('REWRITE_BASE');
if ($rewriteBase === $_SERVER['REQUEST_URI'])
header('Location: '.$rewriteBase.'home.html');
感謝您的幫助。
呃,我有這個方法的另一個問題。我不能有一個像「建設中的網站」index.html。 我試圖添加一個「RewriteCond%{REQUEST_URI} index.html!-f」在第一個RewriteRule ...沒有奏效之前。 有什麼想法? – gnutix 2010-07-11 20:01:57