關於PHP偽靜態Rewrite設定,php偽rewrite
Rewirte主要的功能就是實現URL的跳轉和隱藏真真實位址,基於Perl語言的Regex規範。平時協助我們實現擬靜態,擬目錄,網域名稱跳轉,防止盜鏈等
一、Apache
配置: 1、支援httpd.conf 配置2、支援目錄 .htaccess配置(一種"分布式配置"檔案針對虛擬空間,空間商不讓修改Apache設定檔)
啟用Rewrite(httpd.conf)(有時候Options Indexes FollowSymLinks會出問題,只需要配置Options all即可)LoadModule rewrite_module modules/mod_rewrite.so
啟用.htaccessAllowOverride None 修改為:AllowOverride All
二、mod_rewrite
規則:例如:RewriteEngine on
->
啟動
rewrite
引擎 RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
->指訪問test加任意欄位.html都能跳轉到test.php 正則匹配的欄位存放在虛擬記憶體匹配$1
三、mod_rewrite
規則
修正符 1) R 強制外部重新導向 2) F 禁用URL,返回403HTTP狀態代碼。 3) G 強制URL為GONE,返回410HTTP狀態代碼。 4) P 強制使用代理轉寄。 5) L 表明當前規則是最後一條規則,停止分析以後規則的重寫。 6) N 重新從第一條規則開始運行重寫過程。 7) C 與下一條規則關聯
如果規則匹配則正常處理,以下修正符無效 8) T=MIME-type(force MIME type) 強制MIME類型 9) NS 只用於不是內部子請求 10) NC 不區分大小寫 11) QSA 追加請求字串 12) NE 不在輸出轉義特殊字元 \%3d$1 等價於 =$1 例如:
RewriteRule ^/
new
([0-9]*)/
$ /
new
.php?id=$1
[R] 簡單小範例:
RewriteEngine onRewriteRule ^/in(.*).html$ /index.php
輕鬆實現~
apache配置Rewrite的問題 PHP|偽靜態|RewriteRule
RewriteEngine On
RewriteRule ^(.*)/classlist/(.*)$ $1/class_list.php?type=$2
</IfModule>
虛擬機器主機是Linux系統,網站程式的運行環境是php+mysql,怎設定偽靜態??
你好,這個得根據你的網站程式和WEB伺服器環境來設定偽靜態,比如你用LNMP環境,而用的PHP程式是DZ2.5那麼你的偽靜態就可以為:
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
if (!-e $request_filename) {
return 404;
}
有問題可以+Q+群222802357找群主吧。
http://www.bkjia.com/PHPjc/852743.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/852743.htmlTechArticle關於PHP偽靜態Rewrite設定,php偽rewrite Rewirte主要的功能就是實現 URL的跳轉和隱藏真真實位址 ,基於Perl語言的Regex規範。平時協助我們實...