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
比起官方,我觉得后盾网更好
iis怎么实现thinkphp中的伪静态
首先需要在IIS里面安装urlrewrite 在thinkPHP 后台找到 伪静态规则 然后 复制下来 在根目录的web.config中 添加上 伪静态规则 然后打开IIS里面的 urlrewrite 即可看到伪静态规则开始生效了
静态ip - StormProxies
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球200+的国家与地区,超7000万住宅IP。3、高可靠性,24小时稳定运行,平均99.99%的可用率;4、性价比更高,便宜好用,单个IP也能享受最优价格,没有额外费用;5、易于使用,支持HTTP/HTTPS/SOCKS5协议,提供多种API参数,网络集成更快捷;6、客服全天在线为您排忧解难,并可根据您的业务需求制定更合适的代理…StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...
iis怎么实现thinkphp中的伪静态
IIS安装URL_Rewrite组件,在IIS的站点管理里面有个URL重写的按钮,点进去可以设置规则,可以导入.htaccess文件自动生成规则,也可以直接在站点根目录下的web.config中添加代码。
如何配置thinkphp的伪静态重写
满足thinkphp伪静态(url重写)条件:1、 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启Mod_rewrite功能就可以了。无忧主机是linux系统的空间,开通空间默认支持。2、 Linux空间编辑.htaccess文件,windows空间编辑http...
ThinkPHP怎么实现伪静态
1、实现伪静态方法:1)隐藏入口文件:http://doc.thinkphp.cn/manual/hidden_index.html 2)结合使用URL路由:http://doc.thinkphp.cn/manual/url_route.html 3)配置伪静态后缀名:HTML_FILE_SUFFIX => '';上面三个都用上,基本都OK了!当然,还可以通过服务器重写URL 2、设置让地址栏不能...
thinkphp5.2.0 伪静态怎么配置
ThinkPHP 支持伪静态 URL 设置,可以设置需要的 URL 后缀。编辑项目配置文件 Conf/config.php ,将 URL_HTML_SUFFIX 参数配置如下:'URL_HTML_SUFFIX'=> '.shtml',删除 Runtime 目录下的项目缓存文件使配置生效后,在浏览器访问如下地址,效果一样:现在该 URL 更具静态特征和 SEO 效果,但执行效果...
ThinkPHP在不同系统下的伪静态规则汇总
采用MVC模式和面向对象开发。在构建网站时,伪静态规则对于不同服务器环境至关重要:对于基于Nginx的服务器,通常在Nginx.conf配置文件中设置伪静态规则。Apache服务器则需要在.htaccess文件中编写相应的伪静态规则。在Windows的IIS环境中,伪静态规则通常会存储在web.Config文件中。
php静态怎么修改php伪静态怎么设置
thinkphp的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单进入到项目文件目录直接跟文件最高权限chmod-R777//linux修改文件权限 php静态类和非静态类的区别?静态类和非静态类的主要区别:主要区别在于静态类不能实例化,静态类编译器能够执行检查确保不是偶然的添加...
求助,伪静态的大佬们,请问THINKPHP ngnix 伪静态规则是什么
ThinkPHP在app/Conf/config.php可以配置URL_MODEL选项,有三种类型:1. URL_MODEL => 1,默认支持pathinfo 2. URL_MODEL => 2,url重写模式,通过配置url重写来实现 3. URL_MODEL => 3,URL兼容模式,需要生成URL的地方采用U方法动态生成 这里,我们选择2,配置url重写模式,然后配置nginx:在server段...
如何配置nginx伪静态以支持ThinkPHP的PATHINFO模式
首先你的项目的config文件中要配置这一项 'URL_MODEL' => 2, // rewrite 在服务器中切换到nginx的安装目录,我这里是 /usr/local/nginx。然后添加thinkphp.conf 文件 vim /usr/local/nginx/conf/thinkphp.conf 内容如下 location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index...
phpstudy怎么设置phpstudy怎么设置伪静态thinkphp
1、点击打开phpstudy软件,然后点击mySQL管理器;2、进入到PHPmyadmin登陆界面,默认账号和密码都是root;然后,点击数据库,输入想要的数据名称,如:new,这个随便取;让后就创建成功了 如何使用phpstudy操作管理phpmyadmin?1、首先我们需要下载安装好phpstudy,下载安装教程在我的上一个经验中,然后我们点击...