我的 htaccess 中有这个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
该网站需要这个才能正常运行。当我放置不正确的网址(不存在的页面)时,它会将我重定向到主页?我想改为显示我的 404 页面?
我的 htaccess 中有这个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
该网站需要这个才能正常运行。当我放置不正确的网址(不存在的页面)时,它会将我重定向到主页?我想改为显示我的 404 页面?
如果您的 404 页面是一个实际文件(例如 /404.html),那么该规则应该按原样工作,因为它指定不将其应用于现有文件。如果你的 404 页面是虚拟的,那么你需要添加一个 RewriteCond 来排除它。例如,如果确实是 404 页面,/index.php?error
您将在 RewriteRule 前面添加以下 RewriteCond,根据需要更新查询字符串:
RewriteCond %{QUERY_STRING} !^error
或者,您可以制作一个真正的 404.html 页面供您的 php/CMS 代码使用,在这种情况下,原始规则应该没问题。