RewriteEngine on
RewriteCond %{http_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
第一條規則正在工作,因此它正確地重定向瀏覽器。但是,第二條規則應該是剝離.php,以便訪問者可以轉到domain.com/services而不是domain.com/services.php,但不起作用。第三個條件增加了/到最後,起作用。mod_rewrite刪除.php不工作
任何想法,爲什麼剝.PHP給了我一個404錯誤:
The requested URL /s/p/domain.com/public/packing-tips.php was not found on this server?
有什麼建議?
如果你直接去URL(最後帶.php),它會顯示你的網頁?例如,如果您訪問domain.com/services.php或domain.com/packing-tips.php,那麼您是否會收到404? –
不,我沒有得到404,頁面顯示完全如其應該。但是,當我從地址欄手動刪除.php時,它會顯示上述錯誤。 – brianrhea