php 不加后缀访问

实现不带后缀访问php文件的方法:首先在htaccess文件中加入内容“RewriteRule ^(api/token) token.php [L]”;然后通过根目录下的“token.php”来接受“api/token”;最后修改配置文件。

考虑的做法有:

HTTP重写技术,让符合特定正则表达式的URL,交由某个特定的脚本处理(WordPress等很多程序的实践,推荐)

HTTP重定向,和重写差不多

直接提供token文件软连接到token.php,然后配置HTTP服务器使token文件就算无扩展名也由php解释器处理(不推荐)

甚至做个token/目录,借助首页文件也算个办法(index)

.htaccess是一个完整的文件名(只有后缀),它是用于Apache服务器下的配置文件,当.htaccess文件放在某一文件夹下,它仅对该文件夹下的文件和文件夹有效。通过.htaccess文件,可以配置服务器实现很多功能,比如错误定位,密码保护,IP拒绝,URL重写等等。

默认的Apache不支持.htaccess,需要修改Apache的配置文件httpd.conf,才能使得.htaccess有效。

配置方法:

配置方面:

1. 找到apache的安装目录下的conf下的httpd.conf文件,打开文件修改

LoadModule rewrite_module modules/mod_rewrite.so这行代码,他前面有个#号,把#号删掉

找到

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

这个节点,把None改为All.节点可能有多个,修改和PHP路径相关的那个。

3. 重启apache服务

4.在项目目录下创建.htaccess文件,并在里面写配置。

简单例子:

RewriteEngine on //on为打开,off为关闭

RewriteRule ^test$ test.php

ErrorDocument 404 /404.txt

比较全面的配置说明:

一、什么是.htaccess文件?

.htaccess文件,全名为“HyperText Access Control”,即“超文本访问控制文件”,它是一个用于配置Apache服务器的轻量级配置文件,可以用来实现URL重写、访问控制、缓存设置等功能,通过.htaccess文件,可以简化Apache服务器的配置,提高管理效率。

二、如何创建.htaccess文件?

1. 打开终端或命令提示符,进入网站根目录,通常情况下,网站根目录是指包含public_html文件夹的目录。

2. 在根目录下创建一个新的文本文件,命名为.htaccess,文件名前面有一个点(.),表示这是一个隐藏文件。

3. 使用文本编辑器(如Notepad++、Sublime Text等)打开刚刚创建的.htaccess文件,开始编写配置指令。

4. 保存并关闭.htaccess文件。

三、如何定位.htaccess文件?

在网站根目录下查找.htaccess文件,如果没有找到,可能是因为该网站使用了Apache服务器的其他模块(如mod_rewrite),需要检查Apache的配置文件(httpd.conf或apache2.conf)中的LoadModule指令,确保已经启用了mod_rewrite模块。

四、如何编写和修改.htaccess文件?

1. 在.htaccess文件中,可以使用以下基本指令:

- RewriteEngine On:启用URL重写功能。

-RewriteRule pattern replacement [flag]:根据指定的模式匹配URL,并执行相应的替换操作,pattern是URL模式,replacement是替换后的URL,flag是可选参数,用于控制重写规则的行为(如L标志表示最后一条规则)

-Header:设置HTTP响应头信息,Header set X-Content-Type-Options nosniff:禁止浏览器对资源进行MIME类型嗅探。

-LimitRequests:限制客户端请求的数量,超过限制将返回503错误。

-php_value value:设置PHP运行时环境变量,php_value max_execution_time 300:设置脚本最大执行时间为300秒。

2. 编写完.htaccess文件后,保存并关闭,然后在浏览器中访问网站,查看配置是否生效,如果发现问题,可以根据Apache的错误日志进行排查。

五、相关问题与解答:

Q1:.htaccess文件有什么作用?

A1:.htaccess文件主要用于配置Apache服务器,实现URL重写、访问控制、缓存设置等功能,通过简化Apache服务器的配置,提高管理效率。

Q2:如何禁用.htaccess文件?

A2:要禁用.htaccess文件,可以在Apache的配置文件(httpd.conf或apache2.conf)中注释掉LoadModule rewrite_module modules/mod_rewrite.so这一行,然后重启Apache服务器。

Q3:如何删除.htaccess文件?

A3:要删除.htaccess文件,可以使用文本编辑器将其内容清空,然后保存并关闭,或者直接在终端或命令提示符中执行以下命令:rm /path/to/your/.htaccess,注意将路径替换为实际的文件路径。

21 个非常有用的 .htaccess 提示和技巧

21 个非常有用的 .htaccess 提示和技巧 - OSCHINA - 中文开源技术交流社区

二、隐藏php后缀

默认情况下,服务器的文件扩展名是由服务器的配置决定的,一般情况下会明示的展示出来。可以在nginx或apache等服务器中修改伪静态规则来隐藏php后缀。

  1. Apache服务器

在Apache服务器中,隐藏php后缀的伪静态设置非常简单,只需要通过修改.htaccess文件即可。实现方法如下:

先启用rewrite模块:

1

LoadModule rewrite_module modules/mod_rewrite.so

然后添加这些重写规则到.htaccess文件中:

1

2

RewriteEngine On

RewriteRule ^(.*)$ $1.php [L]

当用户访问不带.php扩展名的地址时,服务器会自动在后面加上.php扩展名,并重定向到对应的文件。如果需要隐藏其他的文件扩展名,只需将php改成其他的扩展名即可。

-RewriteRule pattern replacement [flag]:根据指定的模式匹配URL,并执行相应的替换操作,pattern是URL模式,replacement是替换后的URL,flag是可选参数,用于控制重写规则的行为(如L标志表示最后一条规则)

PHP利用htaccess文件实现伪静态(Apache mod_rewrite)phpstudy apache设置伪静态_qq62d621dccf0ca的技术博客_51CTO博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/225325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10电脑蓝牙默认音量100的设置教程

在Win10电脑操作过程中,用户想设置连接蓝牙后音量默认是100,但不知道具体的设置操作步骤。这时候用户需要打开Win10系统上的注册表,点击修改注册表来完成这一设置,下面就是Win10电脑蓝牙默认音量100的设置教程介绍,帮助…

【Java、Python】获取电脑当前网络IP进行位置获取(附源码)

我相信看到这篇博客的时候心里肯定是想解决自己的一个问题的,而这篇博客我就以简单快速的方式解决这些烦恼! 一、获取当前IP 在Java中自带了一些自己的流对象来获取当前的IP地址,不多说我们直接上代码。 //获取当前网络ip地址 ipAddress Ine…

CentOS安装MongoDB

CentOS安装MongoDB 文章目录 CentOS安装MongoDB1. 安装并运行2. 创建用户/密码3. 测试语句4. 允许外网访问 1. 安装并运行 在 CentOS 上安装 MongoDB,你可以按照以下步骤进行: 导入 MongoDB 的 GPG 密钥: sudo rpm --import https://www.mon…

React快速入门之组件

组件 文件&#xff1a;Profile.js export default function Profile({isPacked true&#xff0c;head,stlyeTmp,src,size 80}) {if (isPacked) {head head " ✔";}return (<div><h1>{head}</h1><imgsrc{src}alt"Katherine Johnson&q…

MongoDB ReplicaSet 部署

文章目录 前言1. 环境准备2. 生成密钥3. 配置参数4. 创建 ReplicaSet5. 副本集维护5.1 新增成员5.2 移除节点5.4 主节点降级5.5 阻止选举5.6 允许副本节点读5.7 延迟观测 6. 连接副本集 后记 前言 本篇文章介绍 MongoDB ReplicaSet 如何搭建&#xff0c;及常用的维护方法。 1…

Redis-实践知识

转自极客时间Redis 亚风 原文视频&#xff1a;https://u.geekbang.org/lesson/535?article681062 Redis最佳实践 普通KEY Redis 的key虽然可以自定义&#xff0c;但是最好遵循下面几个实践的约定&#xff1a; 格式&#xff1a;[业务名称]:[数据名]:[id] 长度不超过44字节 不…

【Jmeter】Jmeter基础9-BeanShell介绍

3、BeanShell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法。 3.1、Jmeter中使用的BeanShell 在Jmeter中&#xff0c;除了配置元件&#xff0c;其他类型的元件中都有BeanShell。BeanShell 是一种完全符合Java语法规范的脚本语言,并且又拥…

TCP并发服务器

一.进程实现TCP并发服务器 #include <func.h> #define PORT 6666 #define IP "192.168.124.42"void handler(int arm) {while(waitpid(-1,NULL,WNOHANG) > 0); } int main(int argc, const char *argv[]) {//接受17号信号signal(17, handler);i…

Matlab之State Flow

打开方式 方式一&#xff1a;在命令窗口输入State Flow或者简写sf就能打开&#xff0c;并且会自动打开State Flow 的Library。从左到右分别是图表、真值表、状态转换表、例子、顺序查看&#xff0c;可以加入到Simulink当中。 方式二&#xff1a;从Simulink Library里面添加Sta…

EB tresos 配置I2c - 实现与PF8200的读写操作

文章目录 前言一、EB工具链配置1、I2c模块1&#xff09;新建模块2&#xff09;配置General3&#xff09;配置I2cChannel 2、Port模块1&#xff09;配置SDA2&#xff09;配置SCL 二、代码分析1、申明一个I2c配置结构体数组&#xff0c;用于I2c所有读操作。2、搭建读操作函数 三、…

得物大模型平台,业务效果提升实践

一、背景 得物大模型训练与推理平台上线几个月后&#xff0c;我们与公司内部超过 10 个业务领域展开了全面的合作。在一些关键业务指标方面&#xff0c;取得了显著的成效&#xff0c;例如&#xff1a; 效率相关部门的合作&#xff0c;多维度打标总正确率取得 2 倍以上提升。利…

Spring中的上下文工具你写的可能有bug

文章目录 前言功能第一种&#xff1a;ApplicationContext第二种方式&#xff1a;ApplicationContextAware第三种&#xff1a;BeanFactoryPostProcessor 源码第一种第二种第三种 前言 本篇是针对如何写一个比较好的spring工具的一个探讨。 功能 下面三种方式&#xff0c;你觉…

智能三维数据虚拟现实电子沙盘

一、概述 易图讯科技&#xff08;www.3dgis.top&#xff09;以大数据、云计算、虚拟现实、物联网、AI等先进技术为支撑&#xff0c;支持高清卫星影像、DEM高程数据、矢量数据、无人机倾斜摄像、BIM模型、点云、城市白模、等高线、标高点等数据融合和切换&#xff0c;智能三维数…

CTF特训(一):ctfshow-RCE挑战

CTF特训(一)&#xff1a;ctfshow-RCE挑战 FLAG&#xff1a;可后来&#xff0c;除了梦以外的地方&#xff0c;我再也没有见过你 专研方向: 代码审计&#xff0c;PHP 每日emo&#xff1a;其实挺迷茫的&#xff0c;不知道该干什么,(骗你的) RCE挑战1 <?phperror_reporting(0)…

Qt Creator可视化交互界面exe快速入门3

上一期介绍的通过Qt Creator的组件直接拖拽的方式完成了一个界面&#xff0c;这期介绍按钮的信号交互。 专有名称叫信号与槽 实现方法1&#xff1a; 鼠标右键选择转化为槽就会跳出这样的界面 选择第一个为单击信号。然后就会跳转到代码界面。多了on_pushButton_clicked()。 …

2024深入评测CleanMyMac X4.14.6破解版新的功能

随着时间的推移&#xff0c;我们的Mac电脑往往会变得越来越慢&#xff0c;存储空间变得越来越紧张&#xff0c;这时候一个优秀的清理工具就显得尤为重要。作为一款备受好评的Mac清理工具&#xff0c;它能够为你的Mac带来全方位的清理和优化。在本文中&#xff0c;我们将深入评测…

ADRC-跟踪微分器TD的Maltab实现及参数整定

目录 问题描述&#xff1a; 跟踪微分器TD基本概念&#xff1a; Matlab及其实现&#xff1a; 跟踪效果&#xff1a; 例1&#xff1a;跟踪信号 sin(t) 0.5*rand(1,1)。 例2&#xff1a;跟踪部分时段为方波的信号&#xff0c;具体形式见代码get_command。 参数整定&#xf…

HarmonyOS - 基础组件绘制

文章目录 所有组件开发 tipsBlankTextImageTextInputButtonLoadingProgress 本文改编自&#xff1a;<HarmonyOS第一课>从简单的页面开始 https://developer.huawei.com/consumer/cn/training/course/slightMooc/C101667360160710997 所有组件 在 macOS 上&#xff0c;组…

【WSL2】安装和配置ubuntu

文章目录 1. 安装WSL22. 安装ubuntu2.1. 通过Microsoft Store2.1. 通过命令行 3. ubuntu的使用3.1. 创建管理员root账户3.2. 换源3.3. 安装图形化界面 1. 安装WSL2 在控制面板 - 程序 - 程序与功能中点击启用或关闭Windows功能&#xff0c;选择 虚拟机平台适用于Linux的Window…

Android Studio 如何隐藏默认标题栏

目录 前言 一、修改清单文件 二、修改代码 三、更多资源 前言 在 Android 应用中&#xff0c;通常会有一个默认的标题栏&#xff0c;用于显示应用的名称和一些操作按钮。但是&#xff0c;在某些情况下&#xff0c;我们可能需要隐藏默认的标题栏&#xff0c;例如自定义标题栏…