问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iis怎么实现thinkphp中的伪静态

发布网友 发布时间:2022-04-21 07:15

我来回答

4个回答

懂视网 时间:2022-04-07 10:20

ThinkPHP作为PHP框架,是单一入口的,那么其原始的URL便不是那么友好,但ThinkPHP提供了各种机制来定制需要的URL格式,本文就来为大家介绍一下thinkphp中设置url格式的方法。

ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来。

.htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 index.php 文件(即入口文件),这也是 ThinkPHP URL 伪静态的第一步。

例如原来的 URL 为:

http://127.0.0.1/index.php/Index/insert

去掉 index.php 之后变为:

http://127.0.0.1/Index/insert

如此一来,就变成了 http://服务器地址/应用模块名称/操作名称[/变量参数] 的常见 URL 格式。

更改 Apache httpd.conf 配置文件

提示:如果在虚拟主机商配置,请直接配置第三、四步,因为支持 .htaccess 的空间已经配置好了前面两步。

用编辑器打开 Apache 配置文件 httpd.conf(该文件位于 Apache 安装目录Apache2conf),并按如下步骤修改。

一、加载了 mod_rewrite.so

确认加载了 mod_rewrite.so 模块(将如下配置前的 # 号去掉):

LoadModule rewrite_module modules/mod_rewrite.so

二、更改 AllowOverride 配置

更改需要读取 .htaccess 文件的目录,将原来的目录注释掉:

#<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
<Directory E:/html/myapp>

更改 AllowOverride None 为 AllowOverride FileInfo Options ,更改后的配置如下所示:

#<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
<Directory E:/html/myapp>
 AllowOverride FileInfo Options
</Directory>

.htaccess 是基于目录来控制的,<Directory E:/html/myapp> 该句即表示需要读取 .htaccess 文件的目录,要根据实际具体 Apache 的解析目录来配置。虚拟主机如果提供 .htaccess 控制,一般都已经配置好了。

三、添加 .htaccess 文件 Rewrite 规则

在需要隐藏 index.php 的目录下(本教程中为 E:/html/myapp,也即入口文件所在目录)创建 .htaccess 文件,并写入如下规则代码:

<IfModule mod_rewrite.c>
RewriteEngine on

#不显示index.php

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

</IfModule>

四、更改项目配置文件

编辑项目配置文件 Conf/config.php ,将 URL 模式配置为 2(Rewrite模式):

'URL_MODEL'=>2,

至此,各个配置已经完成。保存各配置文件后,重启 Apache 服务器并删除 Runtime 目录下的项目缓存文件,在浏览器访问隐藏 index.php 后的地址测试是否成功:

http://127.0.0.1/html/myapp/Index/index

如果访问成功,那么利用 Apache .htaccess 文件的 Rewrite 规则隐藏 index.php 入口文件的配置就成功了。

推荐教程:thinkphp教程

热心网友 时间:2022-04-07 07:28

如果你的服务器环境支持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>

热心网友 时间:2022-04-07 08:46

看官方文档,有详细的说明

如果你的服务器环境支持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>

热心网友 时间:2022-04-07 10:21

比起官方,我觉得后盾网更好
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 thinkphp伪静态规则 thinkphp 伪静态 nginx 规则怎么设置 thinkphp5.2.0 伪静态怎么配置 thinkphp伪静态去掉栏目url ThinkPHP怎么实现伪静态 如何配置thinkphp的伪静态重写 手机uc浏览器已缓存的视频怎么看不了 如何把uc缓存的视频转为本地视频? UC浏览器缓存的视频改了名字和格式后播放不了了? 红米note用uc浏览器缓存的视频播放不了 存放的目录在外置sd卡 手机怎样设置uc为默认浏览器? 怎么让uc下载的视频在相册里也能观看? UC浏览器里面下载视频怎么操作? uc浏览器视频缓存打开播放问题 uC浏览器己缓存视频怎么放不出来 前女友发信息给我 又撤回了,我不理她行吗 为什么有的人发信息会撤回了又撤回呢 前任突然发微信过来 还撤回了,什么意思呢? 初恋情人在抖音里发个消息,又撤回了,什么意思? 前男友凌晨3点给我发了一条信息又撤回,是什么意思? ThinkPHP实现伪静态如何去掉目录中的index.php 如何配置thinkphp的伪静态重写 ThinkPHP 服务器伪静态下不支持中文连接 thinkphp3.1怎么设置伪静态 Thinkphp开启伪静态后搜索中文关键词翻页会显示乱码 thinkphp 怎么通过.htaccess 显现伪静态 thinkphp 执行cli 伪静态怎么处理 thinkphp伪静态 求教thinkphp设置伪静态 为什么总是通不过 thinkphp伪静态怎么修改网址结构 thinkphp 开启伪静态后,分页搜中文出现乱码。 PHP源码需要伪静态是不是必须设置 料酒可以用白酒代替吗 做鸡腿没有料酒怎么办 红烧肉的做法 没有料酒可以用白酒代替吗 家中没有料酒可以用什么代替去腥呢 周公解梦大全我梦见别人来我家拿稻谷 梦见别人买很多大米的预兆 做梦拿了别人的半袋大米.人家找大米,就又还给了人家