ThinkPHP隐藏入口文件的配置方法

Apache服务器默认是没有开启rewrite模块儿的,所以我们访问ThinkPHP站点时的URL路径一般都是像这样的:

http://127.0.0.1/index.php/index/article/list.html

这里的index.php即为我们的站点入口文件,而为了实现更好的SEO优化,我们有必要将入口文件index.php隐藏,最终实现如下访问路径:

http://127.0.0.1/index/article/list.html

第一步:首先,需要打开Apache服务器的配置文件httpd.conf,加载mod_rewrite.so模块儿。

具体的,以笔者所装的wamp集成开发环境为例,在目录“C:\wamp\bin\apache\apache2.4.9\conf”下找到apache的配置文件httpd.conf,查找mod_rewrite。

#LoadModule rewrite_module modules/mod_rewrite.so

然后去掉这一行前面的#即可。

继续查找所有的AllowOverride None,并将其全部修改为AllowOverride All。

最后重启Apache服务器即可使配置生效。

第二步:将如下内容保存为.htaccess文件,并放于入口文件同级的目录中。

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

.htaccess文件的生成可以借助windows自带的记事本。方法是“另存为->文件类型:所有文件“,然后再文件名处填写.htaccess即可,如下图所示:

完成以上两步设置就可以成功隐藏入口文件。

原文地址:https://www.cnblogs.com/zacp/p/9532255.html

时间: 2024-10-06 05:12:11

ThinkPHP隐藏入口文件的配置方法的相关文章

nginx下TP5 隐藏入口文件+支持pathinfo模式+配置多项目根目录

首先说下项目目录情况  跟目录/usr/share/nginx/html/(别说怎么这么深  0.0) html文件夹下面两个目录 pssh  pssh_shop 两个tp5项目分别对应两个二级域名 配置多项目就把server{} 在复制出来一套 修改对应的root路径就可以 下面放上配置文件(只有域名2那个项目隐藏入口文件了 ) # For more information on configuration, see: # * Official English Documentation: h

Nginx 虚拟主机下支持Painfo并隐藏入口文件的完整配置

server { listen 80; server_name zuqiu.com; # 设置你的域名 index index.html index.htm index.php; root D:/wnmp/www/dev/zuqiu; # 设置你的程序路径 location ~ \.php { root D:/wnmp/www/dev/zuqiu; # 设置你的程序路径 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_p

【Thinkphp】入口文件和配置文件

一.入口文件 ThinkPHP采用单一入口模式进行项目部署和访问 入口文件代码 1 <?php 2 define('APP_DEBUG',TRUE);//打开调试模式 在生产环境中应该关闭 3 define('APP_NAME', 'cms');//定影项目的名称 4 define('CONF_PATH','./Data/Conf/');//定义配置文件的目录 5 define('RUNTIME_PATH','./data/logs/');//定义缓存的目录 6 define('TMPL_PAT

Yii隐藏入口文件index.php

1.开启apache的mod_rewrite模块 #去掉LoadModule rewrite_module modules/mod_rewrite.so前的"#"符号 #如果是ubuntu系统,系统默认是开启rewrite的 cd /etc/apache2/mods-enabled #查看是否有rewrite.load链接文件,如果没有则建立链接文件 cd /etc/apache2/mods-enabled ln -s ../mods-available/rewrite.load re

CI 框架怎么去掉隐藏入口文件 index.php

当我重新接触一个框架的时候首先肯定要去掉入口文件,也就是index.php 这个东西在url上很不漂亮,而且每次我访问我的网站的时候都要打进去url里面.这样告诉一个去掉 CI框架里面入口文件的方法,其实也就是添加一个重定向操作.很多框架的操作的大同小异. 言归正转…. 1. LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉. 搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该

Apache 隐藏入口文件以及防盗链.htaccess 文件

RewriteEngine on # 隐藏入口文件 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [L] # 防止资源盗链 RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !football.com [NC] RewriteCond %{HTTP_REFE

如何隐藏入口文件

原始地址 http://localhost/XCMS/index.php?factory/data/?cid=11&mid=2 我想要变成 http://localhost/XCMS/factory/data/?cid=11&mid=2 怎么写法? RewriteEngine on RewriteRule !static|index\.html index.php 如何隐藏入口文件

Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法

原来使用Win7的32位系统,进行C#工程的开发,后来重装系统,换成了win7的64位系统 调试原来的工程,由于在其中引用了"SQLite"的32位的dll,导致在64为位下程序无法运行(但是编译可以通过) 后来通过修改工程文件(.csproj),在其中设置引用的条件,解决了问题 打开引用了SQLite的工程(例如叫做info)的工程文件(info.csproj),找到对SQLite引用的语句,类似如下的代码 代码如下: <Reference Include="Syst

Yii2中的入口文件环境配置

默认的Debug配置 在入口文件中 defined ( 'YII_DEBUG' ) or define ( 'YII_DEBUG', true ); defined ( 'YII_ENV' ) or define ( 'YII_ENV', 'dev' ); 以上配置后,所有的异常会直接显示在页面,也就是爆红页面 正式的生产环境配置 defined ( 'YII_DEBUG' ) or define ( 'YII_DEBUG', false ); defined ( 'YII_ENV' ) or