如何通过JavaScript重定向到404错误页面?

时间:2012-11-12 08:28:59

标签: javascript redirect

该网站仅包含index.php和通过JavaScript更改内容,当我输入随机地址而不是某些真实的导航链接时,它只显示标题,没有内容,没有重定向。 在.htaccess中使用ErrorDocument 404 /404.html无济于事。

有没有办法解决这个问题?

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [NE,L]

  ErrorDocument 404 /404.html

</IfModule>

1 个答案:

答案 0 :(得分:2)

Javascript需要加载实际页面...如果您获得404,则没有javascript可用于处理重定向。

您的虚拟主机是否支持自定义.htaccess文件?它应该被命名为别的吗?另外,请确保.htaccess位于网页的根目录中,因此它将包含所有子文件夹。

如果您想将.htaccess与javascript结合使用,请尝试以下操作:

ErrorDocument 404 "<script>//do something</script>"

修改

因为.htaccess中的这一行

RewriteRule ^(.*)$ index.php?q=$1 [NE,L]

您永远不会得到实际的404错误。原因是“www.example.com/page1”等网址会重定向到:'www.example.com/index.php?q = page1'

要打击错误页面未加载,请在检测“q”变量的PHP脚本中执行以下操作:

if($_REQUEST['q'] == ""){
    //Show the home page
}else if($_REQUEST['q'] == "portfolio"){
    //Show portfolio page
}else{
    //No page for provided arguments, show an error or redirect to error page.
}