2013-11-21 129 views
0

我一直在這一段時間,但htaccess重寫它的驅使我喝。所以我正在尋找比我更聰明的人。htaccess友好的網址地獄

我有一個測試網站,像這樣:

www.domain.com/directory/index.php 

但我想使用友好的URL。所以我想這對所有直接去的index.php:

www.domain.com/directory/ 
www.domain.com/directory/index.php 
www.domain.com/directory/index.php/arg1/arg2/arg3/arg4 
www.domain.com/directory/calendar/arg1/arg2/arg3/arg4 
www.domain.com/directory/anything-here 

回答

0

嘗試在directory文件夾添加在htaccess文件下列規則:

RewriteEngine On 
RewriteBase /directory/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [L] 

事情怎麼被路由取決於最後線。如果你想把它當作參數傳遞:

RewriteRule ^(.*)$ index.php?request=$1 [L] 

,或者如果你想使用$_SERVER['PATH_INFO']變量:

RewriteRule ^(.*)$ index.php/$1 [L] 
+0

我有一些問題在子目錄失去如CSS,圖片和jQuery資產,他們會用這個嗎?老實說,我有這麼多的失敗是荒謬的。但我會試一試。 – Maelish

+1

@ user2070436我猜這樣的東西是因爲你的頁面內容中有相對的URL。試試把這個添加到你的頁面頭部:''(或者任何基地應該是,也許''?) –

+0

基地標籤是一個很好的理念。它修復了這個問題的一部分但是如果我嘗試'www.domain.org/directory/test',那麼我會得到一個服務器錯誤頁面。我使用'RewriteRule ^(。*)$ index.php/$ 1 [L]'行。 – Maelish