Apache mod_rewrite 从不友好的查询字符串到友好的 URL
我是正则表达式和 Apache mod_rewrite 的新手,我尝试了几种方法,它没有转换为 URL 友好的,我不知道我做错了什么。
我想在以下场景中从不友好的查询字符串转换为友好的 URL:
场景 1: 来自: https://example.com/page.php?page_url=life-很好 至:https://example.com/life-is-good/
我的 .htaccess :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)/$ /page.php?page_url=$1 [L,R=301]
场景2: 来自:https://example.com/resources/?blog。 php?blog_url=生活很美好 至:https://example.com/blogs/life-is-good/
我的 .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(blogs)/(.*)/$ blogs/blog.php?blog_url=$2 [L,R=301]
非常感谢对此的任何帮助。
I am new to regex and Apache mod_rewrite, I have tried several ways, it doesn’t convert to URL friendly, I don’t know what I’m doing wrong.
I want to convert from unfriendly query string to a friendly URL on these scenarios:
Scenario 1:
From: https://example.com/page.php?page_url=life-is-good
To: https://example.com/life-is-good/
My .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)/$ /page.php?page_url=$1 [L,R=301]
Scenario 2:
From: https://example.com/resources/?blog.php?blog_url=life-is-good
To: https://example.com/blogs/life-is-good/
My .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(blogs)/(.*)/$ blogs/blog.php?blog_url=$2 [L,R=301]
Any help on this greatly appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
像这样:
Have it like this: