2009-12-29 120 views
0

我具有以下404頁的....htaccess的重定向問題

的RewriteCond%{REQUEST_FILENAME}!-f 重寫規則(+)$?FILE = $ 1 [L]

但它是將此頁面顯示到所有目錄和頁面事件的根目錄

回答

1

確保在.htaccess或vhost聲明中打開了重寫引擎。另外,您需要檢查請求是否存在目錄或符號鏈接。這裏有一個更新的例子:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule (.+)$ /404.php?page=$1 [L] 

Apache也有404 /文件未找到響應的文檔處理程序。您可以通過REQUEST_URI標題訪問請求的文件。下面是與相應的規則的Apache和PHP 404錯誤處理程序文件的一個示例:

的.htaccess:

ErrorDocument 404 /404.php

404.php:

<?php 
echo "Tried to access: {$_SERVER['REQUEST_URI']}"; 
?> 

我喜歡的ErrorDocument處理程序,例如Apache仍會記錄404響應代碼,這對於生成丟失頁面/斷開鏈接的分析非常有用。