濰坊傳石網絡
歡迎您訪問傳石網絡 【
濰坊傳石網絡
建站常識Common sense
當前位置:首頁 > 建站常識 > 瀏覽內容

ThinkPHP 無法加載控制器:En ThinkPHP\Library\Think\App.class.php 錯誤

來源:未知 作者:admin 更新時間:2017-06-03

ThinkPHP 無法加載控制器:En ThinkPHP\Library\Think\App.class.php 錯誤,小編今天也是遇到了這樣的問題,主要是原因是php模式的問題,
修改路徑:Application\Home\Conf\config.php
/* URL*/
    'URL_MODEL' => 2, //0:普通模式,1:PATHINFO模式,2:REWRITE模式,3:兼容模式
    'URL_PATHINFO_DEPR'     =>  '/',
:(
模式改成二就行了

無法加載控制器:En

錯誤位置

FILE: E:\web\baolongxin\en\ThinkPHP\Library\Think\App.class.php  LINE: 101

TRACE

#0 E:\web\baolongxin\en\ThinkPHP\Library\Think\App.class.php(101): E('???????????????...')
#1 E:\web\baolongxin\en\ThinkPHP\Library\Think\App.class.php(202): Think\App::exec()
#2 E:\web\baolongxin\en\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run()
#3 E:\web\baolongxin\en\ThinkPHP\ThinkPHP.php(97): Think\Think::start()
#4 E:\web\baolongxin\en\index.php(31): require('E:\web\baolongx...')
#5 {main}

一直在做php的開發工作.在開發的過程中老早就聽說了“偽靜態”這一說。但是一直沒有對其進行了解。今天通過本篇文章仔細學習下。ThinkPHP 無法加載控制器:En ThinkPHP\Library\Think\App.class.php 錯誤.

首先,什么是偽靜態:

偽靜態又名URL重寫,是動態的網址看起來像靜態的網址。換句話說就是,動態網頁通過重寫 URL 方法實現去掉動態網頁的參數,但在實際的網頁目錄中并沒有必要實現存在重寫的頁面。

1.檢測Apache是否支持mod_rewrite

通過php提供的phpinfo()函數查看環境配置,通過Ctrl+F查找到“Loaded Modules”,其中列出了所有
apache2handler已經開啟的模塊,如果里面包括“mod_rewrite”,則已經支持,不再需要繼續設置。

如果沒有開啟“mod_rewrite”,則打開目錄 您的apache安裝目錄“/apache/conf/” 下的 httpd.conf 文
件,通過Ctrl+F查找到“LoadModule rewrite_module”,將前面的”#”號刪除即可。

如果沒有查找到,則到“LoadModule” 區域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必選獨占一行),然后重啟apache服務器即可。

2.在httpd.conf中配置虛擬主機

# Virtual hosts 啟用虛擬主機
Include conf/extra/httpd-vhosts.conf

3.httpd_vhosts.conf文件中,配置相應的選項.詳細講解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<VirtualHost *:80>
  DocumentRoot "C:/myenv/apache/htdocs/static3"
  ServerName www.hsp.com
  <Directory "C:/myenv/apache/htdocs/static3">
#Deny from All 403錯誤提示
Allow from All
#如果文件目錄在apache目錄外面,注釋掉optinos 則,不能列表.
options +Indexes
#下面這個表示可以去讀取 .htaccess文件,也可以直接在虛擬主機中配置.
Allowoverride All
RewriteEngine On
RewriteRule news-id(\d+).html$ error.php?id=$1
#這里可以設置多個重寫的規則
#RewriteRule news-id.html$ error.php
  </Directory>
 </VirtualHost>

4.在相應的目錄下編寫.htaccess 重寫規則

   例子:

1
2
3
4
5
6
<IfModule rewrite_module>
RewriteEngine On
RewriteRule news-id(\d+).html$ show.php?id=$1
#這里可以設置多個重寫的規則
#RewriteRule news-id.html$ error.php
</IfModule>

如果在linux下可以直接創建,

如果是在windows平臺下,用記事本創建一個文件,比如abc.txt,然后另存為 .htaccess文件即可

5.重寫規則,也可以直接在配置虛擬主機的<Directory>段配置.

動態、靜態、偽靜態之間的利與弊(新)

動態網址

首先,動態網址目前對于Google來說,“不能被抓取”的說法是錯誤的,Google能夠很好的處理動態網址并順利抓取;其次“參數不能超過3個”的說法也不正確,Google能夠抓取參數超過3個的動態網址,不過,為了避免URL太長應盡量減少參數。

其次,動態網址有其一定的優勢,以上面所說的 news.php?lang=cn&class=1&id=2 為例,網址中的參數準確的告訴Google,此URL內容語言為cn、隸屬于分類1、內容ID為2,更便于Google對內容的識別處理。

最后,動態網址應盡量精簡,特別是會話標識(sid)和查詢(query)參數,容易造成大量相同頁面。

靜態網址

首先,靜態網址具有的絕對優勢是其明晰,/product/nokia/n95.html和/about.html可以很容易被理解,從而在搜索結果中可能點擊量相對較高。

其次,靜態網址未必就是最好的網址形式,上述動態網址中說到,動態網址能夠告訴Google一些可以識別的參數,而靜態網址如果文檔布置不夠恰當(如:過于扁平化,將HTML文檔全放在根目錄下)及其他因素,反而不如靜態網址為Google提供的參考信息豐富。

最后,樂思蜀覺得Google此文中是否有其隱藏含義?“更新此種類型網址的頁面會比較耗費時間,尤其是當信息量增長很快時,因為每一個單獨的頁面都必須更改編譯代碼。”雖然所說的是網站,但在Google系統中是否同樣存在這樣的問題呢?

偽靜態網址

首先,偽靜態網址不能讓動態網址“靜態化”,偽靜態僅僅是對動態網址的一個重寫,Google不會認為偽靜態就是HTML文檔。

其次,偽靜態可取,但應把重心放在去除冗余參數、規范URL、盡可能的避免重復頁上。

最后,偽靜態有很大潛大危險,最好在對網站系統、網站結構、內容分布、參數意義熟悉的情況下使用。

在寫偽靜態規則時,應保留有價值的參數,不要將有價值的參數全部精簡掉,如前面例子中的 news.php?lang=cn&class=1&id=2 最好重寫為 news-cn-class1-id2.html,而不是過份精簡重寫為 news-2.html。

再就是偽靜態中一定不能包含會話標識(sid)和查詢(query)參數,/product.asp?sid=98971298178906&id=1234 這樣的動態網址,其中的sid本來Google能夠識別并屏蔽,但如果重寫為 /product/98971298178906/1234,Google不但無法識別,還在整站中造成無限重復頁面(每個會話都會產生一個新的會話ID)。
以上就是ThinkPHP 無法加載控制器:En ThinkPHP\Library\Think\App.class.php 錯誤的解決方法,希望能夠幫助到大家。
濰坊網站建設,網站制作,濰坊專業做網站的網絡公司——傳石網絡

關鍵字:ThinkPHP,無法,加載,控制器,Library,Thi
轉載請注明:http://www.fuisgz.live/jzcs/662.html
------分隔線----------------------------

 

湖北30选5最新开奖结果