2015-06-11 127 views
1

如果頁面名稱不存在,那麼我想顯示page not found而不是空白頁面。.htaccess重寫規則頁面未找到

的.htaccess:

RewriteEngine On 
RewriteRule ^([0-9a-z\-\_]+)?$ page.php?name=$1 [L,QSA,NC] 

page.php文件:

$name = filter_input(INPUT_GET, 'name'); 

$result = $mysqli->query("SELECT * FROM pages WHERE name='$name'"); 

while ($row = $result->fetch_assoc()) { 
    echo $row['content']; 

} 

如果一些你知道一個更好的辦法,請分享:)

回答

0

您可以更改您的PHP代碼s:

$name = filter_input(INPUT_GET, 'name'); 

if ($result = $mysqli->query("SELECT * FROM pages WHERE name='$name'")) { 
    if ($result->num_rows == 0) { 
     printf('404/page Not Found'); 
     exit; 
    } 
    else { 
     while ($row = $result->fetch_assoc()) { 
     echo $row['content']; 
     } 
    } 
} else { 
    printf("Error: %s\n", $mysqli->error); 
    exit; 
} 
0

你可以得到MySQL的NUM行並使其== 0,然後在while循環之前顯示未找到頁面