php 不加后缀访问

发布时间:2023年12月25日

实现不带后缀访问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博客

文章来源:https://blog.csdn.net/zgscwxd/article/details/135193589
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。