2012-05-02 59 views
1

這裏就是我目前寫在我的.htaccess文件:如何未定義重寫規則重定向在.htaccess

RewriteEngine on 
RewriteRule ^contact contact.php 
RewriteRule ^browse browse.php 
RewriteRule ^contact/ contact.php 
RewriteRule ^privacy privacy-policy.php 
RewriteRule ^signup register.php 
RewriteRule ^register register.php 

因此,當一個用戶請求http://mydomain.com/welcome,這是不是在.htaccess文件中定義的,它會導致一個「404未找到」頁面。

相反,我想將.htaccess中未明確定義的頁面重定向到另一個腳本,並傳遞原始URL。我不想在這裏使用ErrorDocument。我怎樣才能做到這一點?

+0

爲什麼你不想使用'ErrorDocument's? – Ryan

回答

1
RewriteEngine on 

RewriteRule ^contact contact.php 
RewriteRule ^browse browse.php 
# why is contact the only one with a slash at the end? 
RewriteRule ^contact/ contact.php 
RewriteRule ^privacy privacy-policy.php 
RewriteRule ^signup register.php 
RewriteRule ^register register.php 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /other.php [L] 
+0

插件後,d整個網站停止工作,這是錯誤 - >內部服務器錯誤 服務器遇到內部錯誤或配置錯誤,無法完成您的請求。 請聯繫服務器管理員admin @ localhost並告知他們發生錯誤的時間以及可能導致錯誤的任何事情。 有關此錯誤的更多信息可能在服務器錯誤日誌中可用。 – Desbol

+0

對不起。我刪除了評論,現在應該可以工作。 – Gerben