2013-02-14 17 views
1

我想在這裏做一些相當簡單的事情,但一直沒有能夠通過在這裏搜索或谷歌找到解決方案 - 一定是我不知道究竟是什麼尋找。建立一個簡單的.htaccess層次重寫

基本上,我想用我的.htaccess文件做到這一點:

www.mydomain.com/$ 顯示 www.mydomain.com/$.php

www.mydomain.com/products/$ 顯示 www.mydomain.com/products/$.php

此外,什麼是學習如何編寫代碼.htaccess文件你喜歡的資源?我知道我的問題很簡單,我很想從現在開始自己做這樣的事情。

非常感謝

回答

1

如果我理解正確的話,你只是想一個「.PHP」添加到每個請求。你可以使用

RewriteRule ^(.*)$ $1.php 

實現這一點,但它會增加一個「.PHP」即使用戶請求www.example.com/foo.php所以你也許想用

RewriteRule ^(.*)(\.php)?$ $1.php 

編輯:如果你想允許訪問現有的文件,例如CSS或JavaScript文件或圖像,使用的RewriteCond:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^(.*)$ $1.php [END] 
+0

謝謝,但現在給了我一個內部服務器錯誤:( – 2013-02-14 17:49:11

+0

對不起,你必須使用'重寫規則^(。*?)(\ PHP)? $'1.php [END]' '[END]'標誌告訴重寫引擎在這條規則後停止,並且不再處理請求,'?'是因爲'。*'會「吃」整個字符串,包括'.php' – user1950929 2013-02-14 19:50:32

+0

我仍然遇到同樣的問題,我認爲它可能與我的.htaccess文件的其他內容有關,所以我試着刪除了所有內容,並且只放了你給我的代碼。內部服務器錯誤 – 2013-02-14 19:55:26