① thinkphp iis 如何去掉index.php
如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:
RewriteRule(.*)$/index.php?s=$1[I]
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<rewrite>
<rules>
<rulename="OrgPage"stopProcessing="true">
<matchurl="^(.*)$"/>
<conditionslogicalGrouping="MatchAll">
<addinput="{HTTP_HOST}"pattern="^(.*)$"/>
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="index.php/{R:1}"/>
</rule>
</rules>
</rewrite>
参考文档:http://www.kancloud.cn/manual/thinkphp/1866
② 如何去掉index.php目录
apache去掉index.php
1.编辑conf/httpd.conf配置文件
#LoadMole rewrite_mole moles/mod_rewrite.so 把该行前的#去掉
同时对应Directory下要配置 AllowOverride All
2.在 CI 根目录下(即在index.php,system的同级目录下)新建立一个配置文件,命名为: .htaccess 内容如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ index.php/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(application|moles|plugins|system|themes) index.php/$1 [L]
3.把system/application/config/config.php 中$config['index_page'] = "index.php";改为$config['index_page'] = "";
4.重启apache
php CI 实战教程:[9]如何去掉index.php目录
nginx去掉index.php
1.编辑nginx.conf文件
vi /usr/local/xxxxx/nginx/conf/nginx.conf
#nginx去掉index.php
location / {
rewrite ^/$ /index.php last;
#防止某些文件夹被直接访问
rewrite ^/(?!index\.php|robots\.txt|uploadedImages|resource|images|js|css|styles|static)(.*)$ /index.php/$1 last;
}
2.config/config.php下配置$config['index_page'] = '';
3..重启nginx
去掉默认的index方法,如图的URL配置如:
config/routes.php,配置$route['catalogues/(:any)'] = "catalogues/index/$1";
其中(:any)表示匹配所有除CI保留关键字外的内容,后面的$1为index传入的参数内容。
多个参数采用多个(:any),如两个参数的为:$route['catalogues/(:any)/(:any)'] = "catalogues/index/$1/$2";
注:route规则如果同一目录下精确配置要在模糊配置上面,否则不起作用,如:
$route['catalogues/more'] = "catalogues/more";
$route['catalogues/(:any)'] = "catalogues/index/$1";
php CI 实战教程:[9]如何去掉index.php目录
END
注意事项
route规则如果同一目录下精确配置要在模糊配置上面,否则不起作用
nginx服务器不需要.htaccess文件
③ EyouCms怎么去除URL中的index.php
直接删除CMS根目下的index.php文件,这个办法最简单,但是我自己试过后却不成功。而且删除后也没办法使用动态浏览了。
在根目录的.htaccess里加入以下代码,试验成功
1 DirectoryIndexindex.htmlindex.phpindex.htm在主机里面设置默认首页顺序:把index.html提到最前面。主机不同,设置方法也不同。就不具体细说了。
④ 网址中间的index.php怎么去掉,看了一些回答不知道怎么做,希望能回答,解决了多给分,一定的。
使用URL重写,可以使网站的URL屏蔽index.php这种不友好的网址。
假如你的web服务器端使用的是apache,那么你需要开启mod_rewrite.so模块,
为网站在apache配置文件中的<Directory>配置节添加如下内容,
Options FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
然后在网站根目录下创建一个 .htaccess 文件,内容如下
<IfMole mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>
就可以在网址中屏蔽index.php了
⑤ php怎么办url中的index.php去掉
为美观一些,去掉CI默认url中的index.php。分三步操作:
1.打开apache的配置文件,conf/httpd.conf :
LoadMole rewrite_mole moles/mod_rewrite.so,把该行前的#去掉。
搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverride All。
2.在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):
RewriteEngine on
RewriteCond $1 !^(index/.php|images|robots/.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果文件不是在www的根目录下,例如我的是:http://localhost/CI/index.php/,第三行需要改写为RewriteRule ^(.*)$ /CI/index.php/$1 [L]。
另外,我的index.php的同级目录下还有js文件夹和css文件夹,这些需要过滤除去,第二行需要改写为:RewriteCond $1 !^(index/.php|images|js|css|robots/.txt)。
3.将CI中配置文件(system/application/config/config.php)中$config['index_page'] = "index.php";将$config['index_page'] = ""; 。
ok,完成。还要记得重启apache。