我正在尝试仅删除网站子类别文件夹下页面的 .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框架中工作以获得更好的解决方案,或使用其中之一。
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]
- 3 回答
- 0 关注
- 207 浏览
添加回答
举报
0/150
提交
取消