thinkphp伪静态规则大全

    文章来源:万象互联 更新时间:2016-12-3 11:00:44
分享:

apache下thinkphp伪静态规则:

在站点根目录下创建.htaccess文件,把以下规则复制到.htaccess文件中。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

iis7.5下thinkphp伪静态规则:

在站点根目录创建web.config文件,把以下规则复制到web.config文件中,需要注意的是IIs7.5需要安装url规则组件。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer> 
<rewrite>
<rules>
<rule name="rule 3S" stopProcessing="true">
<match url="^(.*)$" />
<conditi>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditi>
<action type="Rewrite" url="/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

排除CSS、png等资源文件
我们设置完伪静态后可能,在访问页面的时候可能会出现部分css、图片等无法加载 的问题,那么我们可以设置路由规则,排除指定的文件类型,这样就不会受影响。
规则如下,由于.htaccess的排除规则网上很多,这里不再详述,基于IIS下的资料 比较少,目前提供IIS下的配置内容 。

<rule name="rule 2S" stopProcessing="true">
<match url="(.*\.(js|ico|gif|jpg|png|flv|swf|css))$" />
<action type="Rewrite" url="//{R:1}" />
</rule>

Iis6下thinkphp伪静态规则

在网站根目录创建httpd.ini,把下面规则复制到httpd.ini文件中,需要注意的是 httpd.ini文件需要给network service权限
[ISAPI_Rewrite]
RewriteRule .*\.(?:gif|jpg|png|css|js|txt|jpeg|swf|flv) $0 [I,L] 
RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?!/index.php)(?!/admin.php)(.*)$ /index.php/$1 [L]

nginx下thinkphp伪静态规则

在server段location /加载此内容

location / { 

    if (!-e $request_filename) { 

        rewrite  ^(.*)$  /index.php?s=$1  last; 

        break;   

    } 

}

reload nginx,就可以访问了。

在config.ini.php中设置,如果只想前台URL伪静态,那么只在前台的config.php文件中设置就可以,如下:
'URL_MODEL'=>2,
'URL_HTML_SUFFIX' =>'.html',

版权说明:本站原创文章,由万象互联SEO优化发表.
本文地址:https://www.hulian.top/zixun/post/8187.html
在线咨询
  • 在线时间
  • 8:00-21:00