我的万云数据ECS用的 CentOS 7系统,我想在网站实现 自定义的 404页面,之前已经做了 伪静态,现在 修改了 根目录的 .htaccess, 也加了 404.html 在根目录,但是随机访问一个错误页面。不会设置404请看下面方案
方法一:
在httpd.conf(路径/etc/httpd/conf/httpd.conf)中设置对目录开启。
AllowOverride none #修改成AllowOverride All
Require all denied
然后在目录里放一个.htaccess(.htaccess),添加:
errorDocument 404 /404.php
备注:/404.html 这个错误页的路径可以自行修改。
1.这个的内容根据你的情况改写 。可是有时候当你用IE浏览的时候会发现,这玩意压根就不跳转,关键的地方就是这个html,如果404.html的小于512字节的话,那么IE会认为这个错误页面不够“友好”,会忽视掉的!
2.必须放置在网站根目录(www/)中,放置(www/phpcms/)中无效!
如果web目录下有多个项目,必须在每个项目下都有.htaccess,里面填上对应的404页面就行了,注意404页面都放在web根目录下
方法二:
修改 httpd.conf,找到:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://idc.wanyunshuju.com/subscription_info.html
httpd.conf中的这一部分,#ErrorDocument 404 /missing.html 是显示错误页信息的,去掉前面的#,修改为:
ErrorDocument 404 /404.php
1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失。如果一个 404 页面的内容小于 512b,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面。
2.切记不要使用绝对URL。例如:http://idc.wanyunshuju.con/404.php。正常情况返回的是 404 状态码,而使用URL形式则返回的是 200 状态码。
(2)自定义url
后台发布商品或信息的时增加一个字段用来保存url地址。
(3)超链接直接链接到自定义的url
(4)设置404页面因为自定义的超链接是不存在的,系统会自动跳到404.php页面,然后利用php代码获取地址栏访问路径
这种方法设置了默认的404页面,如果目录下有多个项目可以给每个项目单独配置404页面,参考方法一。
重启 Apache 服务,参考命令:systemctl restart httpd。