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

作者&投稿:宿翰 (若有异议请与网页底部的电邮联系)
thinkphp3.0 url 如何去掉index.php~

Thinkphp中去除URL里的index.php:
例如原路径是 http://localhost/test/index.php/index/add
那么现在的地址是 http://localhost/test/index/add1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置
#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉
2.AllowOverride None 讲None改为 All //在APACHE里面去配置

AllowOverride none 改 AllowOverride ALL
Options None
Order allow,deny
Allow from all

3.确保URL_MODEL设置为2,
在项目的配置文件里写
return Array(
'URL_MODEL' => '2',
);
4 .htaccess文件必须放到跟目录下
这个文件里面加:

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

补充:在windows下不能建立以点开头的文件,你可以先随便建立一个文件
然后在DOS在操作 rename xxxx.xxxx .htaccess
或者打开记事本写入htaccess然后另存为.htaccess即可
如果出现403错误则将.htaccess打开在开头添加Options +FollowSymLinks
即:
Options +FollowSymLinks

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

即可解决.
无权限也是加上Options +FollowSymLinks

在Apache根目录conf文件夹下的httpd.conf配置文件中加载mod_rewrite.so模块;
#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉

AllowOverride None 将None改为 All
在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)
即:AllowOverride none 改 AllowOverride ALL
保存httpd.conf,重启Apache服务器;



3
确保URL_MODEL设置为2,在项目的配置文件里写 'URL_MODEL' => '2',

4
.htaccess文件必须放到跟目录下,在文件里面添加:

Options +FollowSymlinks
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

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文件放到入口文件的同级目录下

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



thinkphp3.2 框架怎么写清除缓存
hinkPHP需要清除的缓冲有四个:模版缓存(Cache),数据缓存目录(Temp), 日志目录(Logs), 数据目录(Data)。\/\/ 清除缓存目录 function clearCache($type=0,$path=NULL) { if(is_null($path)) { switch($type) { case 0:\/\/ 模版缓存目录 path = CACHE_PATH;break;case 1:\/\/ 数据缓存目录 ...

think php 是做什么的??
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的...

用thinkphp怎么在自己的网站上传和显示视频
ThinkPHP引入了分层控制器的概念,通过URL访问的控制器为访问控制器层(Controller)或者主控制器,访问控制器是由hinkApp类负责调用和实例化的,无需手动实例化。URL解析和路由后,会把当前的URL地址解析到[模块\/控制器\/操作],其实也就是执行某个控制器类的某个操作方法,下面是一个示例:namespaceapp...

后端thinkphp和前端vue怎么协调
hinkphp作为服务端,为客户端提供数据。而Vue是客户端的一个JavaScript框架。便于我们对页面进行处理。一般情况下,vue通过异步请求来获取数据。由于实例化vue时已经将相关的变量、模板等定义好了。当获取到thinkphp回传的数据后,将会自动的把数据对应的呈现在网页上。

一对一直播系统开发是如何实现的
hinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式...

php和spring哪个简单,区别在于哪里
php是一种是一种通用开源脚本语言,一般用于服务器的后台使用,开发的时候可以选择ThinkPHP做为开发框架 spring是一个开源框架,是一个轻量级的Java 开发框架,适用于快速开发java项目 或者说:如果你做java项目,可以选择spring做开发框架,如果你做php项目,可以选择hinkPHP做为开发框架 使用开发框架可以使...

web后端和前端是怎么连接的
后端thinkphp和前端vue怎么协调 hinkphp作为服务端,为客户端提供数据。而Vue是客户端的一个JavaScript框架。便于我们对页面进行处理。 一般情况下,vue通过异步请求来获取数据。由于实例化vue时已经将相关的变量、模板等定义好了。 当获取到thinkphp回传的数据后,将会自动的把数据对应的呈现在网页上...

Thinkpad T400 双显卡切换?
hinkpad T400双显卡切换方法:A卡切换独立显卡方法:1、在桌面空白处点击鼠标右击,在弹出的选项中,点击“配置可交换显示卡”2、然后在弹出的AMD可切换显示卡设置中,将需要设置为独立显卡运行的应用程序添加进来,然后选择“高性能”最后点击底部的“保存”即可。N卡切换独立显卡方法:1、在桌面空白处点击...

急求!联想GHINKPAD E430c 摄像头打不开,每次用摄像头时都提示未检测到...
1、首先尝试使用快捷键看能否打开摄像头。操作方法如下:a、先查看设备管理器中有无摄像头设备。(Windows xp、Windows 7系统可右击桌面小电脑图标选择“管理”,打开“设备管理器”;Windows 8以上系统可同时按下Windows键和X键,打开“设备管理器”)b、然后确认电脑已正确安装了电源管理软件和快捷键...

the color of the wind风中奇缘歌词的翻译
那 是 刻 在 风 里 最 美 的 传 奇 http:\/\/www.3gpda.cn\/lyrics\/lyrics.php?id=63653 COLORS OF THE WIND VOCAL:VANESSA WILLAMS MUSIC BY ALAN MENKEN LYRICS BY STEPHEN SCHWARTZ You think you own whatever land you land on The earth is just a dead thing you can claim But I ...

乌兰察布盟17343458442: thinkphp5 怎么在url中的public去掉 -
尧岩小儿: 将public目录下的index.php移入项目根目录,并修改index文件中路径如下// 定义应用目录 define('APP_PATH', __DIR__ . './application/');// 加载框架引导文件 require __DIR__ . './thinkphp/start.php';

乌兰察布盟17343458442: thinkphp中怎么把url中的index.php去掉 -
尧岩小儿: IIS环境 如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:1 RewriteRule (.*)$ /index\.php\?s=$1[I] 在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:12345678910111213 <rewrite><rules><...

乌兰察布盟17343458442: thinkphp 取得url参数 -
尧岩小儿: 一般情况下URL中的参数就是通过GET方法获取,但是由于PATHINFO的特殊性,URL地址最终需要被解析才能转换成GET参数,ThinkPHP对URL是按照一定的规则进行解析的,除非你使用了URL路由规则,如果你对URL做了特别的定制,但是...

乌兰察布盟17343458442: thinkphp 怎么把 url中间的 index 方法 去掉 -
尧岩小儿: 在Apache根目录conf文件夹下的httpd.conf配置文件中加载mod_rewrite.so模块;#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 AllowOverride None 将None改为 All 在APACHE里面去配置 (注意其他地方的...

乌兰察布盟17343458442: thinkPHP5 将URL中的public怎么去掉 -
尧岩小儿: 不是去掉,这样设置的好处就是,不让别的用户访问到public目录之外的所有目录.你要设置document_root为public目录,默认是根目录 www 或 htdocs

乌兰察布盟17343458442: url规则怎么改成Thinkphp的pathinfo模式 -
尧岩小儿: 在config目录下边来做修改 URL_MODEL的值,分别表述如下:1. 值为0 叫做普通模式.如:http://localhost/index.php?m=模块&a=方法2. 值为1 叫做pathinfo模式.如:http://localhost/index.php/模块/方法3. 值为2 叫做rewrite重写(伪静态) 可以...

乌兰察布盟17343458442: thinkphp如何讲现有的url地址转换成自己想要的格式规范 -
尧岩小儿: 在配置文件中将URL_ROUTER_ON设置为TRUE,然后为配置文件中的URL_ROUTE_RULES添加一个路由规则'index/demo' => 'demo'

乌兰察布盟17343458442: 如何隐藏url中的index.php -
尧岩小儿: 第一步:'URL_MODEL'=>'2',第二步:根路径下建立一个.htaccess,可以通过一些软件比如EditPlus去另存为,windows可能不能直接创建 第三步: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_...

乌兰察布盟17343458442: thinkphp普通模式下的url参数怎么配置 -
尧岩小儿: 普通模式也就是传统的GET传参方式来指定当前访问的模块和操作,例如: http://localhost/?m=home&c=user&a=login&var=value m参数表

乌兰察布盟17343458442: 如何把thinkphp 的url改为.html -
尧岩小儿: ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行.例如,我们设置'URL_HTML_SUFFIX'=>'html'

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网