页面如果不存在则不会重定向,只显示其他页面中没有数据的代码

时间:2016-08-07 00:53:58

标签: php .htaccess http-status-code-404

所以我遇到一个问题,如果网址实际上不存在,我就不会被重定向到404,相反,它会显示来自另一个网页的代码。

所以我有一个名为 viewpost.php 的页面,它通常仅在 viewpost.php?id = slug-text-of-post 的情况下有效,但如果你是要说去 bloggg.php ,它不存在,它会向你显示viewpost页面代码,就像你在没有任何GET变量的情况下查看它一样。因此,URL将显示 bloggg.php ,但显示来自viewpost.php的代码,就好像没有任何内容传递给它并显示这一点 empty page with no data to fill it

以下是我的.htaccess

RewriteEngine On
ErrorDocument 404 http://www.example.com/404.php
RewriteBase /
RewriteRule ^c-(.*)$ viewcat.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ viewpost.php?id=$1 [QSA,L]

1 个答案:

答案 0 :(得分:0)

达到你想要的最佳方式:

RewriteEngine On
ErrorDocument 404 http://www.example.com/404.php
RewriteBase /
RewriteRule ^cart/([0-9]*)$ viewcat.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^post/([0-9]*)$ viewpost.php?id=$1 [QSA,L]