当前位置:首页 » 编程语言 » indexphp隐藏

indexphp隐藏

发布时间: 2022-03-07 16:42:50

Ⅰ 如何隐藏url中的index.php

在你的虚拟路劲加一个:以我的为例

<VirtualHost*:80>
DocumentRoot"D:/wamp/apache/htdocs"
<Directory"D:/wamp/apache/htdocs">
DirectoryIndexindex.phpindex.html//默认的索引文件
Allowoverrideall
</Directory>
</VirtualHost>

在你的根目录新建个.htaccess文件 加入下面代码也可以

DirectoryIndexindex.php

thinkphp 配置文件也可以设置,忘记了。

Ⅱ 如何将域名后默认显示的index.php隐藏不显示啊

iis设置默认文档 index.html在index.php前面apache 设置 DirectoryIndex虚拟主机到空间商后台找

Ⅲ 部分网站url中index.php自动隐藏是如何实现的

根目录下新建立一个配置文件,命名为: .htaccess
在里面这样写:

RewriteEngineon
RewriteCond$1!^(index.php|images|robots.txt)
RewriteRule^(.*)$/index.php/$1[L]

就可以去掉 index.php 了。要注意 /index.php/$1 要根据你目录(Web 目录,比如 http://www.domain.com/index.php)的实际情况来定,比如网站根目录是 /ci/index.php 则要写成 /ci/index.php/$1

RewriteCond$1!^(index.php|images|robots.txt)

上面的代码意思是排除某些目录或文件,使得这些目录不会 rewrite 到 index.php 上,这一般用在图片、js、css 等外部资源上。也就是说非 PHP 代码都要排除出去。(这里我排除了 images 目录和 robots.txt 文件,当然 index.php 也应该被排除)
哦,对了,还要修改 config.php 这个文件中的下列内容:

/*
|--------------------------------------------------------------------------
|IndexFile
|--------------------------------------------------------------------------
|
|Typicallythiswillbeyourindex.phpfile,unlessyou'verenameditto
|somethingelse.Ifyouareusingmod_rewritetoremovethepagesetthis
|variablesothatitisblank.
|
*/
$config['index_page']="index.php";

把其中的 "index.php" 改成 "" 就可以了。

Ⅳ Thinkphp3.2.1版本的隐藏index.php怎么弄

REWRITE模式是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。

如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:

<IfMolemod_rewrite.c>RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]</IfMole>

接下来,就可以用下面的URL地址访问了:http://localhost/home/user/login/var/value


参考自ThinkPHP 3.2使用手册:http://document.thinkphp.cn/manual_3_2.html#url

Ⅳ php为什么要隐藏入口文件index.php啊,有什么用途.

不是隐藏,只不过服务器设置的默认文档而已,个人觉得作用就是方便,输入url的时候不需要输入index.php了,当然,输入全了也没问题。要知道,浏览网站的时候,输入网址很麻烦,又是字母,数字,还有斜杠和点,所以输入网址能少写一点就会方便很多。而通常普通访客登录网站,只会输入一次网站,就是网站首页,访问其他页面都是通过页面中的链接来进行的。所以针对首页,设置成默认文档,就方便很多了。

Ⅵ php可以隐藏后缀吗,比如index.php,显示为index

楼主应该是问的在浏览器中访问的时候吧,这个是可以通过url重写规则来实现的,比如你看到的这问题页的地址..com/question/***.html,其实它并不是访问了一个真正的html文件。

对于php的url重写实现方式,有服务器配置,如nginx,apache的rewrite,大多数php框架本身也支持url重写功能,一般会有dispatch【请求分发】, rewrite【请求重写】等关键词。

举个nginx中的rewrite示例:
rewrite "^/index$" /index.php break;
一般在nginx安装位置下有conf/nginx.conf文件,或conf/nginx.conf中引用了其他文件,可以加入rewrite配置。

Ⅶ apache 伪静态如何隐藏index.php

Apache伪静态配置方法有两种:

在网站根目录下添加文件,.htaccess,在此文件内写伪静态规则,使用它需要在apache配置文件http.conf中完成相应配置.具体配置方法网上很多,这里不再赘述.

而另一种是直接在httpd.conf中使用.这种方法性能高于前者。

应用场景

(1),采用.htaccess的场景

用户需要针对特定目录改变服务器的配置而又没有root权限的情况下,可以通过.htaccess文件实现。

如果服务器管理员不愿意频繁修改配置,则可 以允许用户通过.htaccess文件自己修改配置. 比如ISP,在同一个机器上运行了多个用户站点,希望用户可以自

己改变配置,便可以配置好apache,开启对.htaccess文件的支持即可.

(2),不采用.htaccess的场景

虽然上述步骤1可以实现,但一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件(http.conf)的段中,而且更高效。

(3)避免使用.htaccess文件有两个主要原因

首先是性能。如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,因此,无论是否真正用到,启用.htaccess都会导致

性能的下降。另外,对每一个请求,都需要读取一次.htaccess文件。

还有,Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用,所以,如果请求/www/htdocs/example中的页面,Apache必须查找以下文件:

/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess

总共要访问4个额外的文件,即使这些文件都不存在。(注意,这可能仅仅由于允许根目录”/”使用.htaccess ,虽然这种情况并不多。)

其次是安全。这样会允许用户自己修改服务器的配置,这可能会导致某些意想不到的修改,所以请认真考虑是否应当给予用户这样的特权。但是,如果给予用

户较少 的特权而不能满足其需要,则会带来额外的技术支持请求,所以,必须明确地告诉用户已经给予他们的权限,说明AllowOverride设置的值,并引导他

们参阅相应的说明,以免日后生出许多麻烦。

注意,在/www/htdocs/example目录下的.htaccess文件中放置指令,与在主配置文件中段中放置相同指令,是完全等效的。

总结

由上我们可以知道,使用.htaccess文件具有性能上的不利之处,所以我们应该尽可能避免使用.htaccess文件,下面介绍一种不使用.htaccess文件进行伪静态

的方法:

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:
LoadMole rewrite_mole libexec/mod_rewrite.so
AddMole mod_rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:
LoadMole rewrite_mole moles/mod_rewrite.so
如果存在,且以#开头,请删除#。然后在配置文件(通常就是 conf/httpd.conf或者conf/extra/httpd-vhosts.conf)中加入如下代码。此时请务必注意,如果网

站使用通过虚拟主机来定义,请务必加到虚拟主机配置段 中去,如果加在虚拟主机配置外部将可能无法使用。改好后然后将 Apache 重启。



①.在apache配置文件httpd.conf中找到:

LoadMole rewrite_mole moles/mod_rewrite.so
这句,去掉前边的注释符号“#”,如果没有则添加这句。

②.在代码:

Options FollowSymLinks
AllowOverride None
下面添加伪静态代码(以Wordpress伪静态为例):

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
其中/usr/local/apache/htdocs/wwwtest即为要进行伪静态的网站的根目录

③.重启apache

Ⅷ thinkphp 怎样隐藏掉index.php

#伪静态和泛域名
#此文件禁止在行内注释
<IfMole mod_rewrite.c>
RewriteEngine on
#禁止对图片等文件重写:没有这一条,所有的404都会执行index.php脚本,耗费大量资源。
RewriteCond %{REQUEST_URI} !((.*).jpg|.jpeg|.bmp|.gif|.png|.js|.css)$
#禁止对/public文件夹内重写,作用同上
RewriteCond %{REQUEST_URI} !(^/public/(.*))$
#如果是一个物理存在的目录,禁止重写
RewriteCond %{REQUEST_FILENAME} !-d
#如果是一个物理存在的文件,禁止重写
RewriteCond %{REQUEST_FILENAME} !-f
#上面2条不识别REQUEST_FILENAME时的替代写法
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
#php api模式,服务器能识别PATH_INFO
#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
#php fastcgi模式 服务器不识别PATH_INFO
RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]
</IfMole>

Ⅸ thinkphp怎么隐藏index.php

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>
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;
}
}

Ⅹ 如何隐藏已经上线的index.php

第一步:'URL_MODEL'=>'2',
第二步:根路径下建立一个.htaccess,可以通过一些软件比如EditPlus去另存为,windows可能不能直接创建
第三步:
<IfMole mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>
放到.htaccess中保存

第四步开启Apache rewrite 模式 去配置文件中#LoadMole rewrite_mole moles/mod_rewrite.so 去掉前面的#,AllowOverride None改为AllowOverride All ok
当然如果你不是Apache 是IIS就不能这样配了

热点内容
视酷聊天源码 发布:2025-01-13 14:22:55 浏览:277
源码输出电视盒 发布:2025-01-13 14:16:54 浏览:172
D算法求矩阵 发布:2025-01-13 14:16:20 浏览:136
商城前端源码 发布:2025-01-13 14:08:43 浏览:48
每个人身上都有密码是什么 发布:2025-01-13 14:08:40 浏览:472
怎么看java 发布:2025-01-13 13:54:18 浏览:10
没脚本导演 发布:2025-01-13 13:52:22 浏览:339
获取android签名 发布:2025-01-13 13:40:21 浏览:595
单片机编译器和驱动 发布:2025-01-13 13:31:33 浏览:440
tis服务器怎么进pe 发布:2025-01-13 13:31:02 浏览:277