2012-02-01 22 views
-1

好的老mod_rewrite。我似乎無法做到。在Debian服務器上正確使用mod_rewrite

典型場景:在「http://domain.com/page」 用戶類型我想,用戶被重定向到「http://domain.com/page/page2」

我htaccess文件如下所示:

RewriteEngine on 
RewriteBase  /var/www/ 

RewriteRule  ^/page/$ page/page2 
RewriteRule  ^/bla/$  page/page2/bla 

第一重寫規則的作品,而另一方面第二似乎沒有任何效果。任何想法?也許更好的方法來做到這一點?

而另一個問題: 正如我所說的第一次重寫工作得很好,但網址並不漂亮。 「http://domain.com/page」更改爲「http://domain.com/page/page2」。有沒有辦法保持在URL中輸入,但仍然轉發用戶到實際的鏈接?

回答

0

我推測.htaccess在你的DocumentRoot中。 你的/bla包含如何?這不應該在瀏覽器中重寫URL。

使用此:

RewriteEngine on 
RewriteBase /

RewriteRule  ^(/?)page/?$ $1page/page2 [L] 
RewriteRule  ^(/?)bla/?$  $1page/page2/bla [L] 
+0

的/ BLA文件夾中有一個index.php文件,在加載/ BLA應該被加載。你能解釋一下你的代碼嗎?例如,什麼是[L]參數? – cherrun 2012-02-01 21:02:54

+0

@ user1183106標誌'[L]'表示最後一個重寫小節。意思是,如果匹配,不要處理任何進一步的重寫規則。更多參考:[Rerwrite Flags](http://httpd.apache.org/docs/2.1/rewrite/flags.html#flag_l) – ThinkingMonkey 2012-02-01 21:04:24

+0

@ user1183106讓我知道它的工作與否。 – ThinkingMonkey 2012-02-01 21:09:24

相關問題