很多站长朋友们都不太清楚php怎么隐藏index,今天小编就来给大家整理php怎么隐藏index,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp的url兼容模式下怎么隐藏index.php 2、 如何隐藏已经上线的index.php 3、 thinkphp如何去掉index.php 4、 Thinkphp3.2.1版本的隐藏index.php怎么弄 5、 thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php 6、 thinkphp 翻页URL 如何把index.php 隐藏。 thinkphp的url兼容模式下怎么隐藏index.php下面是Apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下 如何新建.htaccess文件
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
重启Apache之后,原来的
就可以通过访问
简化了URL地址。
这样就达到了隐藏index.php的效果了,不但url优化更加符合seo,而且还简单的隐藏了程序的开发语言。
如何隐藏已经上线的index.php第一步:'URL_MODEL'=>'2',
第二步:根路径下建立一个.htaccess,可以通过一些软件比如EditPlus去另存为,windows可能不能直接创建
第三步:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
放到.htaccess中保存
第四步开启Apache rewrite 模式 去配置文件中#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#,AllowOverride None改为AllowOverride All ok
当然如果你不是Apache 是IIS就不能这样配了
thinkphp如何去掉index.php可采用伪静态的方式隐藏index.php,但这种方法不适用于多个入口文件。
你可以将以下内容存为.htaccess放到站点目录下。
<IfModule?mod_rewrite.c>
??Options?+FollowSymlinks
??RewriteEngine?On
??RewriteCond?%{REQUEST_FILENAME}?!-d
??RewriteCond?%{REQUEST_FILENAME}?!-f
??RewriteRule?^(.*)$?index.php/$1?[QSA,PT,L]
</IfModule>
Thinkphp3.2.1版本的隐藏index.php怎么弄根目录建一个.htaccess,写上以下代码:
<IfModule?mod_rewrite.c>
??Options?+FollowSymlinks
??RewriteEngine?On
??RewriteCond?%{REQUEST_FILENAME}?!-d
??RewriteCond?%{REQUEST_FILENAME}?!-f
??RewriteRule?^(.*)$?index.php/$1?[QSA,PT,L]
</IfModule>
thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php最近也遇到了这个问题,顺便回答一下,我这边前后台入口文件都在一个文件夹里,想配置成以下这样:
前后:控制器/方法? ? ?(模块已配置故不展示)
后台:控制器/方法? ? ??(模块已配置故不展示)
所以需要准备两个域名,分别访问前后台,然后在.htaccess文件中通过匹配域名的方式来决定进入哪个规则,所以配置成了下面这样:
<IfModule?mod_rewrite.c>
??Options?+FollowSymlinks?-Multiviews
??RewriteEngine?On
??RewriteCond?%{REQUEST_FILENAME}?!-d
??RewriteCond?%{REQUEST_FILENAME}?!-f
??RewriteCond?%{HTTP_HOST}?^.*xxx\测试数据$?
??RewriteRule?^(.*)$?index.php/$1?[QSA,PT,L]
??
??RewriteCond?%{HTTP_HOST}?^.*yyy\测试数据$?
??RewriteRule?^(.*)$?/admin.php/$1?[QSA,PT,L]
</IfModule>
结果前台没问题而后台报错,页面展示:
日志文件里显示:Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace
后来搜索资料解决了这个问题,在.htaccess文件中添加如下两行
RewriteCond?%{ENV:REDIRECT_STATUS}?200
RewriteRule?.*?-?[L]
这两行代码是用来停止重定向无限循环的,至此前后台入口文件都得到了隐藏,希望能帮助后面的人,全部配置代码是:
<IfModule?mod_rewrite.c>
??Options?+FollowSymlinks?-Multiviews
??RewriteEngine?On
??
??RewriteCond?%{ENV:REDIRECT_STATUS}?200
??RewriteRule?.*?-?[L]
??
??RewriteCond?%{REQUEST_FILENAME}?!-d
??RewriteCond?%{REQUEST_FILENAME}?!-f
??RewriteCond?%{HTTP_HOST}?^.*xxx\测试数据$?
??RewriteRule?^(.*)$?index.php/$1?[QSA,PT,L]
??
??RewriteCond?%{HTTP_HOST}?^.*yyy\测试数据$?
??RewriteRule?^(.*)$?/admin.php/$1?[QSA,PT,L]
</IfModule>
这个答案也可以回答重定向次数限制的问题,如果出现这个错误,则考虑是不是重定向无限循环了,至于为什么上面的配置会出现这个错误,我也不明白,同时希望有明白的可以指教。
thinkphp 翻页URL 如何把index.php 隐藏。仅适用于Apache下面,如果你的Apache已经开启rewrite模块的话(大部分环境都已经开启),可以在当前目录下新建一个名为.htaccess的文件,并在该文件当中添加下面代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
即可将地址中的index.php隐藏,利于SEO。
关于php怎么隐藏index的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php怎么隐藏index php隐藏真实url的详细内容...