thinkphp5.2.0 伪静态怎么配置
发布网友
发布时间:2022-04-21 07:15
我来回答
共2个回答
懂视网
时间:2022-04-29 11:18
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-29 08:26
ThinkPHP 支持伪静态 URL 设置,可以设置需要的 URL 后缀。编辑项目配置文件 Conf/config.php ,将 URL_HTML_SUFFIX 参数配置如下:
'URL_HTML_SUFFIX'=> '.shtml',
删除 Runtime 目录下的项目缓存文件使配置生效后,在浏览器访问如下地址,效果一样:
现在该 URL 更具静态特征和 SEO 效果,但执行效果和以前一样。
在参数配置中,也可以配置其他任何需要的后缀,注意后缀设置中包括 . 符号。
设置了伪静态后,为了保持各处 URL 一致,推荐使用 U 方法在模板里面自动生成 URL,具体参见《ThinkPHP U方法自动生成URL》。
提示
ThinkPHP 伪静态有一个让人容易误解的地方:以为配置好伪静态之后,系统会自动生成如 xxx.shtml 这类的网址。实际情况不是这样的,而是如上文所说,配置伪静态之后,是否有 .shtml 或.html 这类后缀跟无后缀的 URL 访问效果是一样的。
因此,要是用伪静态,只能手动添加静态后缀或者使用 ThinkPHP U方法 自动生成带后缀的 URL 地址。在此,当然推荐使用 U方法 来自动生成具有伪静态地址的 URL 格式。
thinkphp5.2.0 伪静态怎么配置
ThinkPHP 支持伪静态 URL 设置,可以设置需要的 URL 后缀。编辑项目配置文件 Conf/config.php ,将 URL_HTML_SUFFIX 参数配置如下:'URL_HTML_SUFFIX'=> '.shtml',删除 Runtime 目录下的项目缓存文件使配置生效后,在浏览器访问如下地址,效果一样:现在该 URL 更具静态特征和 SEO 效果,但执行效果...
原生ip - StormProxies
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企业网络中获取的IP地址,这种类型的IP地址通常被认为是更加真实和可靠的代理服务。使用住宅原生IP可以更好地保护您的隐私和匿名性,并且可以提供更快的代理服务速度。2. 高匿名性:StormProxies的代理服务支持高匿名性,这意味着使用其服务的用户可以更好地保护自己的隐私和匿名性。高匿名性代理服务的匿名性更高,可以更好地避免被追踪和识别的…StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...
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、设置让地址栏不能...
如何配置thinkphp的伪静态重写
满足thinkphp伪静态(url重写)条件:1、 服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启Mod_rewrite功能就可以了。无忧主机是linux系统的空间,开通空间默认支持。2、 Linux空间编辑.htaccess文件,windows空间编辑http...
如何配置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...
iis怎么实现thinkphp中的伪静态
首先需要在IIS里面安装urlrewrite 在thinkPHP 后台找到 伪静态规则 然后 复制下来 在根目录的web.config中 添加上 伪静态规则 然后打开IIS里面的 urlrewrite 即可看到伪静态规则开始生效了
thinkphp 伪静态 nginx 规则怎么设置
关于nginx的伪静态设置(案例)server { listen 80;server_name localhost;index index.html index.htm index.php;root /alidata/www/;location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last;} } location ~ .*\.(php|php5)?{ fastcgi_pass unix:/tmp/...
求助,伪静态的大佬们,请问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段...
ThinkPHP在不同系统下的伪静态规则汇总
采用MVC模式和面向对象开发。在构建网站时,伪静态规则对于不同服务器环境至关重要:对于基于Nginx的服务器,通常在Nginx.conf配置文件中设置伪静态规则。Apache服务器则需要在.htaccess文件中编写相应的伪静态规则。在Windows的IIS环境中,伪静态规则通常会存储在web.Config文件中。
php静态怎么修改php伪静态怎么设置
{}location~.php${root站点相对路径;fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;includefastcgi_params;}location~/.ht {denyall;}}配置文件的基本内容如上;配置完成后测试配置文件是否正确这样配置就可以使用了然后重启nginx服务...
iis怎么实现thinkphp中的伪静态
IIS安装URL_Rewrite组件,在IIS的站点管理里面有个URL重写的按钮,点进去可以设置规则,可以导入.htaccess文件自动生成规则,也可以直接在站点根目录下的web.config中添加代码。