整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          ThinkPHP之模塊不存在跳到404頁面

          們在訪問其它網站的時候可能都遇到過,當我們訪問某個頁面的時候,提示我們這個頁面不存在,比如訪問到頭條網站某個文章不存的時候,頭條的404頁面是這樣的:

          那么在ThinkPHP中有沒有辦法實現呢?答案是:有的!

          下面我們就以ThinkPHP3.2為例來一步一步實現這個功能。

          第一步:創(chuàng)建 EmptyController.class.php 控制器,并創(chuàng)建一個 _empty 方法:

          第二步: 創(chuàng)建 404 模板(在模板文件夾中創(chuàng)建 Empty 文件夾,再在 Empty 創(chuàng)建一個 index.html 文件):

          第三步:在其它控制器中繼承 EmptyController 模塊:

          大功告成!

          現在你再訪問一個不存在的模塊,程序就會顯示到404頁面了(跳轉到 Empty 模塊中,顯示你創(chuàng)建的 index.html 頁面)。

          謝謝你的閱讀,如果你有更好的方法或在應用過程中遇到問題可以在評論區(qū)提問或者直接私信我,我會定期回復,碼農劉小橋與你一起學習,共同進步。

          站的URL層級結構和導航結構優(yōu)化之后,今天我們接著講站內優(yōu)化的其它內容。

          • 網站地圖
          • robots.txt文件
          • 404錯誤頁面
          • 301重定向


          網站地圖/sitemap

          網站地圖有兩種版本;HTML版本,用來索引用戶瀏覽網站內容,針對用戶制作;XML版本,針對搜索引擎制作,用來集中提交網站鏈接,提升網站整體爬取效率。

          制作地圖的方法,使用愛站SEO工具包,需要下載安裝;在工具包選擇網站地圖/sitemap選項添加網址;在抓取網址類型,選擇靜態(tài)URL后綴的類型,XML設置選擇stiemap格式,選擇.xml和.html后綴,然后點擊爬取,自動生成地圖文件了。

          制作好兩個版本的地圖文件上傳至根目錄下,然后增加xml地圖首頁入口,通常建議在底部導航處增加,寫A標記,將標記放置在底部導航。

          最后一步就是提交搜索引擎了,在搜索引擎的站長平臺提交;因為網站會經常更新,建議至少每周更新一次地圖,然后提交,目的是告訴搜索引擎網站有更新,讓蜘蛛主動來爬取。

          robots.txt文件

          robots.txt文件可以理解為是網站機器人或蜘蛛協議,該文件是搜索引擎蜘蛛抓取網站時讀取的第一個文件;只能放置在根目錄下;

          常見命令:User-agent,指定搜索引擎制定規(guī)則;Allow,允許抓取的目錄或文件;Disallow,不允許抓取的目錄或文件;星號為通配符,指所有;根目錄和常更新目錄都不可以禁止搜索引擎的抓取,只要不禁止根目錄以及常更新欄目就不影響SEO。

          robots.txt文件里面除了有這些命令之外,還要指定網站地圖的地址,用來提升整站的抓取效率和頻次。

          404錯誤頁面

          404錯誤頁面的作用是減少用戶跳出率,減少搜索引擎蜘蛛丟失率;

          制作404錯誤頁面的要求是要有返回網站的鏈接,可以返回至首頁或欄目頁;不能使用強制跳轉功能,對搜索引擎不友好。

          制作方法:扒別的網站404錯誤頁面代碼,替換里面返回鏈接、title、文字等,PS一張404圖片,然后打包放在一個文件夾里上傳至根目錄下。

          最后在主機上設置404功能,指定404錯誤頁面的文件夾地址就搞定了。

          301重定向

          301重定向指把多個網站域名重定向至主推域名上,可以實現權重導入,適用于更換域名;

          有的公司為了品牌保護注冊了多個不同后綴的域名,為了不讓域名閑置,他們會把所有域名做成相同內容網站,這種做法是錯誤的;會導致搜索引擎不收錄,最簡單的方法就是做一個網站,然后把其它域名重定向至這個網站域名即可。

          單個網站解析主域名和3w子域名之后,把主域名重定向至3W子域名上,使首頁地址唯一,集中首頁權重。

          總結:制作網站地圖提交站長平臺,robots.txt命令不能禁止根目錄和常更新欄目,設置404錯誤頁面和301重定向。

          今天的內容就分享到這里,不懂的地方評論區(qū)留言;明天繼續(xù)分享代碼優(yōu)化內容,我是老虎,明天見。

          次NGINX在嘗試處理客戶端請求時遇到錯誤,它都會返回一個錯誤。每個錯誤都包含一個HTTP響應代碼和一個簡短描述。錯誤通常通過簡單的默認HTML頁面顯示給用戶。

          幸運的是,您可以配置NGINX以向您的站點或 Web 應用程序的用戶顯示自定義錯誤頁面。這可以使用 NGINX 的 error_page指令來實現,該指令用于定義將針對指定錯誤顯示的URI 。您還可以選擇使用它來修改發(fā)送給客戶端的響應標頭中的 HTTP 狀態(tài)代碼。

          在本指南中,我們將展示如何配置NGINX以使用自定義錯誤頁面。

          為所有 NGINX 錯誤創(chuàng)建一個自定義頁面

          您可以將NGINX配置為使用單個自定義錯誤頁面來處理它返回給客戶端的所有錯誤。首先創(chuàng)建您的錯誤頁面。這是一個示例,一個顯示消息的簡單 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命令創(chuàng)建它,如下所示:

          $ sudo mkdir -p  /var/www/html/
          $ sudo cp error-page.html /var/www/html/

          然后使用error_page指令配置NGINX以使用自定義錯誤頁面。如圖所示,在/etc/nginx/snippets/下創(chuàng)建一個名為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 錯誤創(chuàng)建不同的自定義頁面

          您還可以為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指令允許您在發(fā)生錯誤時將用戶重定向到定義的頁面或資源或 URL。它還可選地允許在對客戶端的響應中修改 HTTP 狀態(tài)代碼。


          主站蜘蛛池模板: 亚洲一区二区三区高清视频| 亚洲无线码一区二区三区| 亚洲第一区在线观看| 国产精品亚洲一区二区在线观看 | 色一情一乱一区二区三区啪啪高| AV无码精品一区二区三区宅噜噜| 99精品一区二区三区无码吞精| 国产伦理一区二区| 成人区人妻精品一区二区不卡视频 | 蜜臀AV无码一区二区三区 | 亚洲成av人片一区二区三区| 亚洲熟妇成人精品一区| 亚洲国产成人精品无码一区二区| 亚洲乱码一区二区三区在线观看 | 亚洲乱码一区二区三区在线观看 | 韩国精品福利一区二区三区| 精品久久国产一区二区三区香蕉 | 波多野结衣一区二区免费视频| 亚洲一区二区女搞男| 亚洲中文字幕一区精品自拍| 日韩精品一区二区三区影院| 色欲综合一区二区三区| 国产SUV精品一区二区88| 相泽亚洲一区中文字幕| 在线日产精品一区| 日本高清成本人视频一区| 中文激情在线一区二区| 99国产精品一区二区| 亚洲日韩国产欧美一区二区三区 | 欲色影视天天一区二区三区色香欲 | 国产SUV精品一区二区四| 国产精华液一区二区区别大吗| 亚洲一区欧洲一区| 久久99精品国产一区二区三区| 在线电影一区二区| 亚洲一区在线免费观看| 国产一区麻豆剧传媒果冻精品| 国偷自产视频一区二区久| 老熟女高潮一区二区三区| 在线观看国产一区| 久久精品一区二区三区不卡|