我在我的htaccess
文件中使用以下內容去除文件上的.php
擴展名。它工作正常。htaccess ErrorDocument 404與RewriteEngine衝突
但是,我也想利用ErrorDocument 404 /index.php
來重定向任何不存在的網址回主頁。如果我在htaccess
中單獨使用ErrorDocument 404 /index.php
,重定向工作正常。另外,如果我使用下面的重寫代碼,它會成功剝離php擴展。然而,我希望這兩種方法一起工作。
例如,如果用戶輸入「www.domain.com/register
」,他們將轉到www.domain.com/register.php
。但是如果他們輸入「www.domain.com/something
」,並且something.php
不存在,那麼他們將重定向回index.php
。我已經在我的htaccess
中嘗試了所有這些組合的排列,但無濟於事。任何幫助,將不勝感激。
Options -MultiViews
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
這是使用'%{REQUEST_FILENAME} .php -f'而不是'%{REQUEST_FILENAME} -f'的關鍵。 +1 – anubhava 2012-02-08 07:16:59
太棒了!謝謝,Jon和anubhava。我是一個htaccess newb,所以只是把搜索時發現的條件放在一起。現在有意義的是,它是指出,但永遠不會有我自己得到的:)再次感謝! – user1195985 2012-02-09 00:08:41