Windwos 2012 iis8.5 Thinkphp偽靜態(tài)(web.config)

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

程序是使用Thinkphp開發(fā),使用了偽靜態(tài),然thinkphp沒有在IIS的偽靜態(tài),只有.htaccess,那就只能.htaccess轉(zhuǎn)iis web.config來使用了,具體代碼請看以下:

IIS7.5,采用web.config方式實現(xiàn)偽靜態(tài)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Thinkphp 5.1 可以通過URL重寫隱藏應用的入口文件index.php(也可以是其它的入口文件,但URL重寫通常只能設置一個入口文件),下面是相關服務器的配置參考:

PS延伸閱讀:

Apache

httpd.conf配置文件中加載了mod_rewrite.so模塊
AllowOverride None 將None改為 All
把下面的內(nèi)容保存為.htaccess文件放到應用入口文件的同級目錄下

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On

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

 

IIS

如果你的服務器環(huán)境支持ISAPI_Rewrite的話,可以配置httpd.ini文件,添加下面的內(nèi)容:

RewriteRule (.*)$ /index\.php\?s=$1 [I]

在IIS的高版本下面可以配置web.Config,在中間添加rewrite節(jié)點:

RewriteRule (.*)$ /index\.php\?s=$1 [I]
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>

RewriteRule (.*)$ /index\.php\?s=$1 [I]

Nginx

在Nginx低版本中,是不支持PATHINFO的,但是可以通過在Nginx.conf中配置轉(zhuǎn)發(fā)規(guī)則實現(xiàn):

location / { // …..省略部分代碼
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}

其實內(nèi)部是轉(zhuǎn)發(fā)到了ThinkPHP提供的兼容URL,利用這種方式,可以解決其他不支持PATHINFO的WEB服務器環(huán)境。

如果你的應用安裝在二級目錄,Nginx的偽靜態(tài)方法設置如下,其中youdomain是所在的目錄名稱。

http://serverName/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]

原來的訪問URL:

http://serverName/index.php/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]

設置后,我們可以采用下面的方式訪問:

http://serverName/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]

如果你沒有修改服務器的權限,可以在index.php入口文件做修改,這不是正確的做法,并且不一定成功,視服務器而定,只是在框架執(zhí)行前補全$_SERVER['PATH_INFO']參數(shù)。

$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI' ];

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責聲明》全部內(nèi)容的認可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學習和交流,請勿用于商業(yè)用途。如有侵權、不妥之處,請聯(lián)系站長并出示版權證明以便刪除。 敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » Windwos 2012 iis8.5 Thinkphp偽靜態(tài)(web.config)

發(fā)表回復

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務器或網(wǎng)絡推薦及配置;APP開發(fā)與維護;網(wǎng)站開發(fā)修改及維護; 各財務軟件安裝調(diào)試及注冊服務(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情