關於ThinkPHP的pathinfo訪問模式的解析

TP的url模式分爲四種,php

普通0模式 html

pathinfo 1模式 shell

rewrite 2模式 apache

兼容 3模式 服務器

用的比較多的應該是2模式,用於實現url重寫僞靜態,優化搜索引擎抓取等用途,其實四者的關係是兼容升級的,即後者是前者的加強,且包括前者的功能。 dom

0:普通模式即爲你們所熟知的get ? 傳參模式domain/operate?arg1=xx&arg2=xx&arg3=xx ide

1:pathinfo模式是爲了讓url更爲友好,你能夠設置'URL_PATHINFO_DEPR'=>''來控制路徑中的分隔符 函數

2:rewrite模式是爲了讓url進行重寫的方式 優化

用的比較多,僞靜態的目的嘛,結構全是domain/model/action/operate模式,再設置個URL_HTML_SUFFIX成html,用TP的U函數來一下,一個僞靜態就出來了,蜘蛛刷刷的抓呀....搜索引擎

apache開啓rewrite模式隱藏index.php的方法很簡單:

1.httpd.conf配置文件中加載了mod_rewrite.so模塊

LoadModule rewrite_module modules/mod_rewrite.so

2.AllowOverride None 講None改成 All 在APACHE裏面去配置 (注意其餘地方的AllowOverride也通通設置爲ALL)

<Directory>
AllowOverride ALL
Options None
Order allow,deny
Allow from all
</Directory>

3.保存到.htaccess文件下

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

OK了,能夠實現僞靜態咯

3:有些服務器版本問題並不支持pathinfo

那開啓3模式就OK了

相關文章
相關標籤/搜索