假设我们有如下网页地址
http://www.example.com/index.html
http://www.example.com/index.php
如果希望隐藏 .html
或 .php
后缀, 使其变为以下形式
http://www.example.com/index
http://www.example.com/index
可以根据服务器类型 (Apache 或 Nginx) 使用不同的方法实现
Apache
-
隐藏
.html
后缀在
.htaccess
文件中添加以下规则RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.html [NC,L]
-
隐藏
.php
后缀在
.htaccess
文件中添加以下规则RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L]
Nginx
方法一: 使用 try_files
在 nginx 配置文件中, 添加以下代码到对应的 server
配置块
location / {
try_files $uri $uri/ $uri.php$is_args$args;
}
方法二: 使用 if
判断
-
隐藏
.html
后缀在 nginx 配置文件中, 添加以下规则
if (!-f $request_filename) { set $rule_0 1$rule_0; } if ($rule_0 = "1") { rewrite ^/([^\.]+)$ /$1.html last; }
-
隐藏
.php
后缀在 nginx 配置文件中, 添加以下规则
if (!-f $request_filename) { set $rule_0 1$rule_0; } if ($rule_0 = "1") { rewrite ^/([^\.]+)$ /$1.php last; }
原文
利用.htaccess隐藏html和php后缀
Apache (httpd) 伪静态设置
nginx一招配置,帮你快速隐藏php后缀名