seo 友好 url 的 htaccess 重写规则存在问题

问题描述 投票:0回答:1

经过一个月的尝试,我无法解决问题:

我正在尝试重定向此网址:

https://www.example.com/news.php?post=hello-world

到此网址:

https://www.example.com/news/hello-world

我的代码不起作用并说:

404 未找到。

在此服务器上找不到请求的资源!

RewriteCond %{THE_REQUEST} /news\.php\?post=([^\s&]+) [NC]
RewriteRule ^ /news/%1? [R=302,L,NE]
regex apache .htaccess mod-rewrite
1个回答
0
投票

您缺少一个额外的内部重写规则来默默地将漂亮的 URL 转发到内部工作 URL。

像这样:

Options -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} /news\.php\?post=([^\s&]+) [NC]
RewriteRule ^ /news/%1? [R=302,L,NE]

# internally rewrite /news/123 to /news.php?post=123
RewriteRule ^news/([^/]+)/?$ news.php?post=$1 [NC,L,QSA]
© www.soinside.com 2019 - 2024. All rights reserved.