2011-11-05 32 views
3

我不知道如何實現以下內容。htaccess創建集中php文件

目前我有一個問題。每當用戶訪問www.example.com或任何具有相同域名的鏈接時,它都會運行一個centralize.php(示例)。這個PHP腳本將根據鏈接決定調用哪個PHP,比如集中的php文件。

我試圖使用.htaccess來取得成功,但沒有成功。我做錯了什麼,或者有另一種方法來做到這一點?

RewriteEngine on 
RewriteRule /(.*) /iindex4.php$1 [PT] 

以上是我到目前爲止已經試過,但簡化版,它可以滿足我的要求,顯然是有缺陷的或馬車。

問題總結 - 導航與同一個域中的任何URL它將運行在一定PHP文件 - 有另一種方式來做到這一點的.htaccess旁邊

+0

怎麼我從來沒有嘗試過的Kohana BE4 。 thx爲您的suggeestion – Leon

+0

當你說「它不符合我的要求,顯然有缺陷或越野車」時,你是什麼意思?你遇到什麼問題?什麼要求不符合? –

回答

2

試試這個:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

然後你就可以通過$_GET['q']變量從腳本中檢索請求的URI。

+0

thx很多。你節省了我的一天 – Leon

+0

如果你有一個需要查詢字符串「q」的搜索頁面會發生什麼? – Adam

+0

這可能是一個問題。只需在PHP腳本或.htaccess文件中更改參數的名稱即可。然而,對於更優雅的解決方案,請參閱@ GolezTrol的答案。 –

2

.htaccess是做到這一點的方法,這種方法通常使用,例如mediawiki,wordpress和Kohana等框架。

凡事重定向到的index.php:

RewriteEngine On 
RewriteRule .* index.php/$0 [PT] 

爲了讓現有的文件執行(這是不是你想要的,我猜):

RewriteEngine On 

# Allow any files or directories that exist to be displayed directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 
RewriteRule .* index.php/$0 [PT]