为了账号安全,请及时绑定邮箱和手机立即绑定

如何仅删除子目录下页面的 .php 扩展名?

如何仅删除子目录下页面的 .php 扩展名?

PHP
心有法竹 2021-06-29 13:57:52
我正在尝试仅删除网站子类别文件夹下页面的 .php 扩展名。currently: example.com/blog/my-first-blog.phpwhat i want: example.com/blog/my-first-blog/我在 .htaccess 中尝试了以下规则(放在 root 中)但它仍然显示 .phpRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{DOCUMENT_ROOT}/blog/$1.php -fRewriteRule ^(.+?)/?$ /blog/$1.php [L]
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

实现您想要的结果的最佳方法是构建路由。首先,您需要将所有流量重写到 index.php:


RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^.*$ /index.php [L,QSA]

然后,您需要编写将解析 URL 路径的路由器。路由器最简单的例子是:


$url = urldecode(preg_replace('/\\?(.*)$/', '', $_SERVER['REQUEST_URI']));


if ($url == '/contact/about') {

    include 'contact.php';

}

您可以检查它如何在PHP框架中工作以获得更好的解决方案,或使用其中之一。


查看完整回答
反对 回复 2021-07-09
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我发现我只需要在“/guide/”目录下创建 .htaccess 文件。使用以下规则说明RewriteBase /guide/以确保它只删除“/blog/”文件夹下的 .php


RewriteEngine On 

RewriteBase /blog/

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.php -f

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


查看完整回答
反对 回复 2021-07-09
  • 3 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信