我正在尝试重写一个 URL,使其对用户/搜索引擎友好,然后 301 将原始 URL 重定向到新 URL。
目前帖子生成如下:example.com/blog/post.php?s=nice-post
但我希望它们看起来像这样:example.com/blog/nice-post
这是我到目前为止所得到的:
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{QUERY_STRING} ^s=(.+)$
RewriteRule post.php /%1? [R=301,L]
RewriteCond %{REQUEST_URI} !post.php
RewriteRule ^([a-zA-Z0-9_-]+)$ post.php?s=$1
不幸的是,这与 404 重定向冲突,将所有未找到的页面发送到空白 post.php 文件,我不知道为什么。有没有更好的方法来处理 URL 重写/重定向?
谢谢你看:)