方法一:
在httpd.conf中設(shè)置對目錄開啟。
AllowOverride All
然后在目錄里放一個(gè).htaccess(.htaccess),添加:
errorDocument 404 /404.php
1.這個(gè)的內(nèi)容根據(jù)你的情況改寫 。可是有時(shí)候當(dāng)你用IE瀏覽的時(shí)候會(huì)發(fā)現(xiàn),這玩意壓根就不跳轉(zhuǎn),關(guān)鍵的地方就是這個(gè)html,如果404.html的小于512字節(jié)的話,那么IE會(huì)認(rèn)為這個(gè)錯(cuò)誤頁面不夠“友好”,會(huì)忽視掉的!
2.必須放置在網(wǎng)站根目錄(www/)中,放置(www/phpcms/)中無效!
如果web目錄下有多個(gè)項(xiàng)目,必須在每個(gè)項(xiàng)目下都有.htaccess,里面填上對應(yīng)的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://www.example.com/subscription_info.html
httpd.conf中的這一部分,#ErrorDocument 404 /missing.html 是顯示錯(cuò)誤頁信息的,去掉前面的#,修改為:
ErrorDocument 404 /404.php
1.切記不要將404錯(cuò)誤轉(zhuǎn)向到網(wǎng)站主頁,否則可能會(huì)導(dǎo)致主頁在搜索引擎中消失。如果一個(gè) 404 頁面的內(nèi)容小于 512b,IE 會(huì)認(rèn)為該 404 頁面不夠友好,在 IE 下將不會(huì)成功返回該 404 錯(cuò)誤頁面。
2.切記不要使用絕對URL。例如:https://xiazai.zzvips.com/404.PHP。正常情況返回的是 404 狀態(tài)碼,而使用URL形式則返回的是 200 狀態(tài)碼。
(2)自定義url
后臺發(fā)布商品或信息的時(shí)增加一個(gè)字段用來保存url地址。
(3)超鏈接直接鏈接到自定義的url
(4)設(shè)置404頁面因?yàn)樽远x的超鏈接是不存在的,系統(tǒng)會(huì)自動(dòng)跳到404.php頁面,然后利用php代碼獲取地址欄訪問路徑
這種方法設(shè)置了默認(rèn)的404頁面,如果目錄下有多個(gè)項(xiàng)目可以給每個(gè)項(xiàng)目單獨(dú)配置404頁面,參考方法一。
apache服務(wù)器開啟rewrite模式總結(jié) 解決404錯(cuò)誤
通過比對本地wampserver的配置文件和服務(wù)器上的apache配置文件,解決了404錯(cuò)誤
1:進(jìn)入apache目錄的conf目錄
2:打開httpd.conf
3:找到#LoadModule rewrite_module modules/mod_rewrite.so然后把前面的#去掉
4:找到所有的AllowOverride配置項(xiàng),把所有的None都修改為All
5:在網(wǎng)站根目錄下面新建一個(gè) .htaccess 文件(什么?這個(gè)文件不會(huì)添加?先新建一個(gè)txt,然后另存為 .htaccess文件就行),輸入一下內(nèi)容
1
2
3
4
5
6
|
< IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </ IfModule > |
6:重啟apache