们在访问其它网站的时候可能都遇到过,当我们访问某个页面的时候,提示我们这个页面不存在,比如访问到头条网站某个文章不存的时候,头条的404页面是这样的:
那么在ThinkPHP中有没有办法实现呢?答案是:有的!
下面我们就以ThinkPHP3.2为例来一步一步实现这个功能。
第一步:创建 EmptyController.class.php 控制器,并创建一个 _empty 方法:
第二步: 创建 404 模板(在模板文件夹中创建 Empty 文件夹,再在 Empty 创建一个 index.html 文件):
第三步:在其它控制器中继承 EmptyController 模块:
大功告成!
现在你再访问一个不存在的模块,程序就会显示到404页面了(跳转到 Empty 模块中,显示你创建的 index.html 页面)。
谢谢你的阅读,如果你有更好的方法或在应用过程中遇到问题可以在评论区提问或者直接私信我,我会定期回复,码农刘小桥与你一起学习,共同进步。
站的URL层级结构和导航结构优化之后,今天我们接着讲站内优化的其它内容。
网站地图/sitemap
网站地图有两种版本;HTML版本,用来索引用户浏览网站内容,针对用户制作;XML版本,针对搜索引擎制作,用来集中提交网站链接,提升网站整体爬取效率。
制作地图的方法,使用爱站SEO工具包,需要下载安装;在工具包选择网站地图/sitemap选项添加网址;在抓取网址类型,选择静态URL后缀的类型,XML设置选择stiemap格式,选择.xml和.html后缀,然后点击爬取,自动生成地图文件了。
制作好两个版本的地图文件上传至根目录下,然后增加xml地图首页入口,通常建议在底部导航处增加,写A标记,将标记放置在底部导航。
最后一步就是提交搜索引擎了,在搜索引擎的站长平台提交;因为网站会经常更新,建议至少每周更新一次地图,然后提交,目的是告诉搜索引擎网站有更新,让蜘蛛主动来爬取。
robots.txt文件
robots.txt文件可以理解为是网站机器人或蜘蛛协议,该文件是搜索引擎蜘蛛抓取网站时读取的第一个文件;只能放置在根目录下;
常见命令:User-agent,指定搜索引擎制定规则;Allow,允许抓取的目录或文件;Disallow,不允许抓取的目录或文件;星号为通配符,指所有;根目录和常更新目录都不可以禁止搜索引擎的抓取,只要不禁止根目录以及常更新栏目就不影响SEO。
robots.txt文件里面除了有这些命令之外,还要指定网站地图的地址,用来提升整站的抓取效率和频次。
404错误页面
404错误页面的作用是减少用户跳出率,减少搜索引擎蜘蛛丢失率;
制作404错误页面的要求是要有返回网站的链接,可以返回至首页或栏目页;不能使用强制跳转功能,对搜索引擎不友好。
制作方法:扒别的网站404错误页面代码,替换里面返回链接、title、文字等,PS一张404图片,然后打包放在一个文件夹里上传至根目录下。
最后在主机上设置404功能,指定404错误页面的文件夹地址就搞定了。
301重定向
301重定向指把多个网站域名重定向至主推域名上,可以实现权重导入,适用于更换域名;
有的公司为了品牌保护注册了多个不同后缀的域名,为了不让域名闲置,他们会把所有域名做成相同内容网站,这种做法是错误的;会导致搜索引擎不收录,最简单的方法就是做一个网站,然后把其它域名重定向至这个网站域名即可。
单个网站解析主域名和3w子域名之后,把主域名重定向至3W子域名上,使首页地址唯一,集中首页权重。
总结:制作网站地图提交站长平台,robots.txt命令不能禁止根目录和常更新栏目,设置404错误页面和301重定向。
今天的内容就分享到这里,不懂的地方评论区留言;明天继续分享代码优化内容,我是老虎,明天见。
次NGINX在尝试处理客户端请求时遇到错误,它都会返回一个错误。每个错误都包含一个HTTP响应代码和一个简短描述。错误通常通过简单的默认HTML页面显示给用户。
幸运的是,您可以配置NGINX以向您的站点或 Web 应用程序的用户显示自定义错误页面。这可以使用 NGINX 的 error_page指令来实现,该指令用于定义将针对指定错误显示的URI 。您还可以选择使用它来修改发送给客户端的响应标头中的 HTTP 状态代码。
在本指南中,我们将展示如何配置NGINX以使用自定义错误页面。
您可以将NGINX配置为使用单个自定义错误页面来处理它返回给客户端的所有错误。首先创建您的错误页面。这是一个示例,一个显示消息的简单 HTML 页面:
“Sorry, the page can't be loaded! Contact the site's administrator or support for assistance.” to a client.示例 HTML Nginx 自定义页面代码。
<!DOCTYPE html><html><head><style type=text/css>* {
-webkit-box-sizing: border-box;
box-sizing: border-box;}body {
padding: 0;
margin: 0;}#notfound {
position: relative;
height: 100vh;}#notfound .notfound {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);}.notfound {
max-width: 520px;
width: 100%;
line-height: 1.4;
text-align: center;}.notfound .notfound-error {
position: relative;
height: 200px;
margin: 0px auto 20px;
z-index: -1;}.notfound .notfound-error h1 {
font-family: 'Montserrat', sans-serif;
font-size: 200px;
font-weight: 300;
margin: 0px;
color: #211b19;
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);}@media only screen and (max-width: 767px) {
.notfound .notfound-error h1 {
font-size: 148px;
}}@media only screen and (max-width: 480px) {
.notfound .notfound-error {
height: 148px;
margin: 0px auto 10px;}.notfound .notfound-error h1 {
font-size: 120px;
font-weight: 200px;}.notfound .notfound-error h2 {
font-size: 30px;}.notfound a {
padding: 7px 15px;
font-size: 24px;}.h2 {
font-size: 148px;}}</style></head><body><div id="notfound">
<div class="notfound">
<h1>Sorry the page can't be loaded!</a></h1>
<div class="notfound-error">
<p>Contact the site's administrator or support for assistance.</p>
</div>
</div></div></body></html>使用适当的名称保存文件,例如error-page.html并关闭它。
接下来,将文件移动到您的文档根目录 ( /var/www/html/ )。如果该目录不存在,您可以使用mkdir命令创建它,如下所示:
$ sudo mkdir -p /var/www/html/
$ sudo cp error-page.html /var/www/html/然后使用error_page指令配置NGINX以使用自定义错误页面。如图所示,在/etc/nginx/snippets/下创建一个名为custom-error-page.conf的配置文件。
$ sudo mkdir /etc/nginx/snippets/
$ sudo vim /etc/nginx/snippets/custom-error-page.conf
向其中添加以下行:
error_page 404 403 500 503 /error-page.html;location = /error-page.html {
root /var/www/html;
internal;}每次NGINX遇到任何指定的 HTTP 错误 404、403、500 和 503 时,此配置都会导致内部重定向到URI / error-page.html。位置上下文告诉NGINX在哪里可以找到错误页面。
保存文件并关闭它。
现在在http上下文中包含该文件,以便所有服务器块都使用/etc/nginx/nginx.conf文件中的错误页面:
$ sudo vim /etc/nginx/nginx.conf包含目录告诉NGINX将配置包含在指定.conf文件中:
include snippets/custom-error-page.conf;或者,您可以包含特定服务器块(通常称为vhost)的文件,例如/etc/nginx/conf.d/mywebsite.conf。在服务器上下文中添加上述包含指令: {}
保存您的NGINX配置文件并重新加载服务,如下所示:
$ sudo systemctl reload nginx.service并从浏览器测试设置是否正常。
您还可以为NGINX中的每个 HTTP 错误设置不同的自定义错误页面。
要在服务器上设置存储库,请运行以下命令:
$ sudo git clone https://github.com/denysvitali/nginx-error-pages /srv/http/default
$ sudo mkdir /etc/nginx/snippets/
$ sudo ln -s /srv/http/default/snippets/error_pages.conf /etc/nginx/snippets/error_pages.conf
$ sudo ln -s /srv/http/default/snippets/error_pages_content.conf /etc/nginx/snippets/error_pages_content.conf接下来,在您的http上下文或每个服务器块/虚拟主机中添加以下配置:
include snippets/error_pages.conf;保存您的 NGINX 配置文件并重新加载服务,如下所示:
$ sudo systemctl reload nginx.service此外,如果配置按预期工作,请从浏览器测试。在这个示例中,我们测试了 404 错误页面。
这就是我们在本指南中为您提供的全部内容。NGINX 的error_page指令允许您在发生错误时将用户重定向到定义的页面或资源或 URL。它还可选地允许在对客户端的响应中修改 HTTP 状态代码。
*请认真填写需求信息,我们会在24小时内与您取得联系。