【发布时间】:2020-06-24 07:28:53
【问题描述】:
我有一个纯 HTML/CSS/PHP 博客。结构简单。 主页是 domain.com/blog (最新帖子)和 domain.com/blog?page=2 (用于第 2 页中的帖子等)。 该页面由 blog.php 文件控制。如果用户想阅读例如“How-to-learn-polish”的帖子,他会转到 domain.com/blog_post?name=How-to-learn-polish,这也是可行的。
我的问题是,如何在 htaccess 中编写规则来加载页面内容
domain.com/blog_post?name=How-to-learn-polish
在网址中
domain.com/blog/How-to-learn-polish
我在互联网上搜索了我的问题的解决方案并创建了该规则
RewriteEngine On
RewriteRule ^blog/([^/]*)$ blog_post.php?name=$1 [L,NC]
这条规则在 80% 的情况下都可以正常工作,因为它从
domain.com/blog/How-to-learn-polish
到
domain.com/blog_post?name=How-to-learn-polish
我不想重定向但在此 URL domain.com/blog/How-to-learn-polish 中加载帖子
我应该在我的 htaccess 中改变什么来做到这一点?我的htaccess全是这样的
Header set Cache-Control "max-age=31536000, public"
RewriteEngine On
RewriteRule ^blog/([^/]*)$ blog_post.php?name=$1 [L,NC]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteBase /
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]
【问题讨论】: