2012-01-24 162 views
0

我使用的是Apache 2.2和PHP 5.3.8。 我應該如何配置.htaccess重定向每個請求做index.php?將每個請求重定向到index.php並解釋請求

我想要有類似於stackoverflow或Facebook的URL,如下所示:http://mywebsite.com/fancypage 其中fancypage不是服務器上的目錄,而只是一個參數。

所以我想我需要將每個請求重定向到一個PHP頁面,其中一些代碼可以解釋$ _SERVER ['REQUEST_URI']字符串。這是正確的方式嗎? $ _SERVER ['REQUEST_URI']在重定向後仍然可用?

回答

4

嘗試添加以下到您的網站的根目錄下的.htaccess文件。

它會將所有請求(現有文件/目錄除外)發送到index.php。

原始請求將在request參數中可用。

RewriteEngine On 
RewriteBase/

#skip existing files or directories 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#everything else goes to index.php 
RewriteRule^index.php?request=%{THE_REQUEST} [L] 
+0

謝謝你,你的代碼符合法案!反正我設法生產出滿足我的基本需要一個簡單的代碼,並期待這樣的:?? ' RewriteEngine敘述在 重寫規則^(產品|管理|支持|資訊|等)/ $的index.php REQ = $ 1 [NC] [L]' – Valentino

+0

我試圖刪除RewriteCond,以匹配任何查詢..但我認爲,PHP的include()不能工作了。有沒有解決方法?我不希望用戶訪問包含文件.. – Valentino

+0

@ user1168006我不明白這個問題:你能澄清你的意思嗎 –

相關問題