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

thinkphp中怎么把url中的index.php去掉

发布网友 发布时间:2022-04-05 23:33

我来回答

2个回答

懂视网 时间:2022-04-06 03:54

thinkphp去除index.php的方法:首先加载mod_rewrite.so模块;然后将AllowOverride None中的None改为all;最后将htaccess文件放到根目录下即可。

Thinkphp中去除URL里的index.php

例如你的原路径是 http://localhost/test/index.php/index/add

那么现在的地址是 http://localhost/test/index/add

如何去掉index.php呢?

1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置

#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉

2.AllowOverride None 讲None改为 All //在APACHE里面去配置

<Directory "D:/server/apache/cgi-bin">
AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all
</Directory>

3.确保URL_MODEL设置为2,

在项目的配置文件里写

return Array(
'URL_MODEL' => '2',
);

4 .htaccess文件必须放到跟目录下

这个文件里面加:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

补充:在windows下不能建立以点开头的文件,你可以先随便建立一个文件

然后在DOS在操作 rename xxxx.xxxx .htaccess

或者打开记事本写入htaccess然后另存为.htaccess即可

如果出现403错误则将.htaccess打开在开头添加Options +FollowSymlinks

即:

Options +FollowSymlinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

即可解决.

无权限也是加上Options +FollowSymlinks

热心网友 时间:2022-04-06 01:02

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


下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

<IfMole mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>

重启Apache

Nginx环境
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

  location / { // …..省略部分代码
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
    }
}

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。

如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

    location /youdomain/ {
        if (!-e $request_filename){
            rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=$1  last;
        }
    }

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...干或者杀人放火伤天害理的事 是不是 说谎对老天爷来也是不应该的事... 海尔BCD-206TD重要参数 海尔冰箱BCD_196TDXZ如何调温 农业银行密码锁定,但父母不在家怎么办? 奥比岛,号被盗,只记得初始密码,密保手机等密报全被改,充值记录也找不到... 拳皇97ol进阶称号获得方法介绍_拳皇97ol进阶称号获得方法是什么 有什么工作是周六日休息节假日的除了厂,列出来,最好初中毕业也能进_百... 广汉市新生代家庭农场怎么样? 想要考心理咨询师证书,合格证书,技能证书,能力证书等又是啥区别? 海盗船K70 RGB MK.2游戏机械键盘这个人体工程学键盘性价比怎么样?_百 ... thinkphp url怎么去掉index.php thinkphp中怎么去掉index.php thinkphp如何去掉index.php thinkphp怎么去掉index.php PHP中?传值与POST传值 php中post与get的区别,能说详细些吗 PHP里模拟Post提交是什么意思? PHP中$_GET和$_POST作用 php获取post参数的几种方式 如何在自己的php脚本中设置post php中有关post的问题 $_post[ ] 在PHP中的运用 PHP中的POST,求大虾详细解释 PHP菜鸟求助(如图) $_POST的正确用法? php 怎么POST获取数据? PHP的POST怎么用? win7下python 64位版本的idle打不开 江湖告急 求救 python3.8.9无法打开IDLE怎么办? python 2.7 IDLE打不开 win10的python下载后idle不能用怎么办,所有文件打不开 thinkphp iis 如何去掉index.php thinkphp3.0 url 如何去掉index.php thinkphp 5 如何去掉 index.php thinkphp如何去掉地址栏index.php thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php ThinkPHP除去链接中的index.php 在西部数码虚拟空间里如何去掉 thinkphp 的 index.php php中如何将小写金额转为大写金额? php 怎么把汉字数字转换城大写数字 求一个 php 数字小写转为大写的函数(在线等,谢谢) 如何让 PHP 自动转换金额大写 并提交到数据库monydx表中?在线等! PHP怎么实现大小写转换 PHP 数字大小写转换? php的一个把数字金额转换成大写的函数,我在网上找的,但是看不明白,有哪位大神,帮帮我。帮我解释下 php 里面怎么把数字转成大写字母 PHP大小写转换问题、求指教 编程实现,输入一个人民币小写金额值,转化为大写金额值输出。先实现基本功能 php $str = ‘daxiong wo @ai 1 NI Hao Am’; 大写变小写 PHP中怎样将字符串每个单词的首字符转换成大写 PHPCMS用SQL语句对文章进行批量删除