iisphp偽靜態配置
⑴ 請高手幫我寫php在IIS下偽靜態規則
apache+php教程
偽靜態寫法與iis+php
偽靜態區別
這是apache+php
偽靜態配置方法
RewriteRule
/newhouse/m-(d+).html$
/newhouse/model.php?id=$1
RewriteRule
/newhouse/p2-(d+).html$
/newhouse/pic2.php?id=$1
iis+php
偽靜態配置方法
RewriteRule
/newhouse/m-(d+).html
/newhouse/model.php?id=$1[N,I]
RewriteRule
/newhouse/p2-(d+).html
/newhouse/pic2.php?id=$1[N,I]
二者沒有多大的區別,特別是在前段,後段把以前apache
.php?id=$1在iis改成了php?id=$1[N,I]寫法。
⑵ iis php偽靜態怎麼設置
thinkphp :把以下代碼保存成web.config文件,放到網站根目錄內即可。
<?xml version="1.0" encoding="UTF-8"?><configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ThinkPHP_NiPaiYi" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer></configuration>
⑶ iis怎麼實現thinkphp中的偽靜態
1:安裝,ISAPI_Rewrite3
2:網站根目錄下,.htaccess
至於規則,則根據你的具體要求來寫
例如
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
請將上面正則表達式,保存為.htaccesss文件,並放到thinkphp項目入口文件同級目錄下。並且修改資料庫配置(config.php)文件使網站支持url重寫功能,加入代碼:define(『URL_REWRITE』,2);
⑷ IIS 伺服器下的PHP偽靜態要怎麼弄啊
1.檢測Apache是否支持mod_rewrite
通過php提供的phpinfo()函數查看環境配置,通過Ctrl+F查找到「Loaded Moles」,其中列出了所有
apache2handler已經開啟的模塊,如果裡麵包括「mod_rewrite」,則已經支持,不再需要繼續設置。
如果沒有開啟「mod_rewrite」,則打開目錄 您的apache安裝目錄「/apache/conf/」 下的 httpd.conf 文
件,通過Ctrl+F查找到「LoadMole rewrite_mole」,將前面的」#」號刪除即可。
如果沒有查找到,則到「LoadMole」 區域,在最後一行加入「LoadMole rewrite_mole moles/mod_rewrite.so」(必選獨佔一行),然後重啟apache伺服器即可。
2.在httpd.conf中配置虛擬主機
# Virtual hosts 啟用虛擬主機
Include conf/extra/httpd-vhosts.conf
3.httpd_vhosts.conf文件中,配置相應的選項.詳細講解
DocumentRoot "C:/myenv/apache/htdocs/static3"
ServerName www.hsp.com
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
4.在相應的目錄下編寫.htaccess 重寫規則
例子:
RewriteEngine On
RewriteRule news-id(\d+).html$ show.php?id=$1
#這里可以設置多個重寫的規則
#RewriteRule news-id.html$ error.php
如果在linux下可以直接創建,
如果是在windows平台下,用記事本創建一個文件,比如abc.txt,然後另存
為 .htaccess文件即可
5.重寫規則,也可以直接在配置虛擬主機的段配置.
⑸ 怎麼設置網站偽靜態
所謂偽靜態就是通過一定的技術手段,將原先一條不存在的URL地址映射到已存在的文件上,其目的是實現動態網頁內容的靜態化,提高搜索引擎收錄率。
方法/步驟:
1、IIS 7.0以上伺服器
微軟IIS 7.0以上版本完全重寫了IIS的內核結構,採用模塊化的設計構架,URL重寫也成為可選安裝的模塊之一。朝暮數據的全部虛擬主機都安裝了URL重寫模塊,因此客戶可以通過輕松的配置web.config文件來實現偽靜態功能。
下面是實現第一段所述偽靜態規則的web.config代碼。
<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <rewrite> <rules> <rule name="已導入的規則 1"> <match url="proct/([a-z]+)/([0-9]+)" ignoreCase="false" /> <action type="Rewrite" url="proct.aspx?category={R:1}&id={R:2}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer></configuration>
至此,基於IIS 6.0的偽靜態配置完畢。如果有多個站點,那麼就復制同樣的Rewrite目錄,然後定位到不同目錄中的Rewrite.dll即可。如果要修改規則,只需修改httpd.ini文件,保存後即時生效,無需重啟IIS。
ASP.NET Routing
.NET框架從4.0版本起開始支持Routing功能,如果您的代碼是ASP.NET編寫的,則可以考慮使用這種靜態化方式。這種方式的好處就是無需在伺服器上做配置,並且偽靜態的URL地址和整個代碼是天然一體的,代碼中可以自動生成靜態化URL,避免了在.htaccess/web.config模式下,一旦修改了偽靜態規則,還要修改代碼中的靜態化網址的麻煩。
⑹ iis怎麼實現thinkphp中的偽靜態
官網的3.2手冊里有寫
如果你的伺服器環境支持ISAPI_Rewrite的話,可以配置httpd.ini文件,添加下面的內容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中間添加rewrite節點:
<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>