0
我有一個站點設置完成了一個索引等。我想只重定向到www.example.com
直接到www.example.com/foo.php
的流量。但是,如果用戶試圖直接訪問www.example.com/index.php
或任何其他現有頁面,則該請求應如常返回適當的頁面。我似乎無法繞過這些重寫規則。我將如何使用.htaccess完成此操作?使用.htaccess將流量重定向到根目錄到特定頁面
我有一個站點設置完成了一個索引等。我想只重定向到www.example.com
直接到www.example.com/foo.php
的流量。但是,如果用戶試圖直接訪問www.example.com/index.php
或任何其他現有頁面,則該請求應如常返回適當的頁面。我似乎無法繞過這些重寫規則。我將如何使用.htaccess完成此操作?使用.htaccess將流量重定向到根目錄到特定頁面
你可以很可能逃脫只是改變了DirectoryIndex
到/foo.php
:
DirectoryIndex foo.php
但是,如果你想使用mod_rewrite
實際重寫URL,有幾個不同的方式來做到這一點,但clearist是隻檢查所請求的資源是一個空字符串(被請求的根,並在.htaccess
文件輸入到RewriteRule
不包含前導斜槓):
RewriteEngine On
RewriteRule ^$ /foo.php
任何對/
不是/
的服務器請求都將被忽略並由Apache正常路由。
完美無瑕的工作和如此快速的迴應。關於如何着手學習這些重寫規則的建議? – 2010-09-17 01:53:51
@Oren:太棒了。在閱讀文檔之外,許多「典型」案例已經在這裏提出並回答,所以從我想象的答案中可以學到一點點。如果你有一個本地測試服務器,使用帶有高RewriteLogLevel的['RewriteLog'](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritelog)可以幫助你感受內部發生了什麼。大多數只是正則表達式,詭計和嘗試錯誤,但是,所以它需要一些習慣。 – 2010-09-17 02:01:49