400-800-9385
网站建设资讯详细

Thinkphp在各种服务器下的伪静态配置

发表日期:2022-05-18 11:05:24   作者来源:陈应信   浏览:1367   标签:thinkphp    网站开发    
当一个Thinkphp网站做好要上线时,就需要先配置服务器,因为Thinkphp的网站一般需要支持伪静态,也有需要支持URL重写,就是可以自定义URL,这个有利于做百度等搜索引擎的收录。这里介绍几种比较常见的运行服务器,如IIS,apache和nginx这三种运行环境下的伪静态该如果配置。
首先是IIS服务器,这种服务器我们可以导入ISAPI_Rewrite伪静态文件,这样可以就可以让IIS支持伪静态,然后创建一个httpd.ini文件,放在根目录,将下面的代码

伪静态

代码内容如下图:
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteRule /(?!Public)(?!include)(?!Uploads)(.*) /index.php\//$1 [L]
 
上面所提到的Public、include、Uploads是指放置一些静态的文件,如果图片或样式文件或JS文件等的文件夹。
 
 如果使用Apache运行环境的话,如果需要支持伪静态,则需要打开 rewriter_module模块,然后创建一个.htaccess文件放在根目录,然后这个文件的内容直接使用下面的代码:
rewrite
代码内容如下图所示:
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>
这样一个Thinkphp网站在apache运行环境里就支持伪静态了。如果有英文版或其他的版本,直接把.htaccess文件放在英文版的根目录就可以了。
 
如果使用的是nginx的运行环境,一般情况下这种环境比较少用,所以对伪静态的配置不是很了解,但目前却用的越来越多了,如果使用宝塔面板的话,配置方法如下图所示:
url
只要选择Thinkphp,就会自动生成以下代码
location / {
if (!-e $request_filename){
rewrite  ^(.*)$  /index.php?s=$1  last;   break;
           
}
}
这样一个Thinkphp在nginx环境下就支持伪静态了,这里是一些比较简单的,如果在该网站里多增加一个英文版本呢?由于中英版本是独立开发的,也就是用了两套Thinkphp程序,所以英文版的伪静态设置如下图所示:
英文版
代码内容如下图:
location /en/ {
if (!-e $request_filename){
rewrite  ^/en/(.*)$  /index.php?s=$1  last;   break;
           
}
}
这样就可以支持英文版的伪静态了。
如没特殊注明,文章均为方维网络原创,转载请注明来自https://www.szfangwei.cn/news/6419.html