regex htaccess重写规则对SEO友好的URL的问题

yfjy0ee7  于 2023-10-22  发布在  SEO
关注(0)|答案(1)|浏览(170)

经过一个月的尝试,我无法解决这个问题:
我正在尝试重定向此URL:

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

到这个URL:

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

我的代码不工作,并说:
404 Not Found.
您访问的页面不存在!**

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

3duebb1j1#

您缺少一个额外的内部重写规则,用于将漂亮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]

相关问题