本文目录一览:
如何去掉index.php目录
apache去掉index.php
1.编辑conf/httpd.conf配置文件
#LoadModule rewrite_module modules/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|modules|plugins|system|themes) index.php/$1 [L]
3.把system/application/config/config.php 中$config['index_page'] = "index.php";改为$config['index_page'] = "";-yii2去掉index.php
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;-yii2去掉index.php
}
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文件
网址中间的index.php怎么去掉,看了一些回答不知道怎么做,希望能回答,解决了多给分,一定的。
使用URL重写,可以使网站的URL屏蔽index.php这种不友好的网址。
假如你的web服务器端使用的是apache,那么你需要开启mod_rewrite.so模块,
为网站在apache配置文件中的Directory配置节添加如下内容,
Options FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
然后在网站根目录下创建一个 .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了
php怎么办url中的index.php去掉
为美观一些,去掉CI默认url中的index.php。分三步操作:
1.打开apache的配置文件,conf/httpd.conf :
LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉。
搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverride All。
2.在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):-yii2去掉index.php
RewriteEngine on
RewriteCond $1 !^(index/.php|images|robots/.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果文件不是在www的根目录下,例如我的是:,第三行需要改写为RewriteRule ^(.*)$ /CI/index.php/$1 [L]。
另外,我的index.php的同级目录下还有js文件夹和css文件夹,这些需要过滤除去,第二行需要改写为:RewriteCond $1 !^(index/.php|images|js|css|robots/.txt)。-yii2去掉index.php
3.将CI中配置文件(system/application/config/config.php)中$config['index_page'] = "index.php";将$config['index_page'] = ""; 。-yii2去掉index.php
ok,完成。还要记得重启apache。