微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 URL 重写不起作用的情况下删除查询参数

如何解决在 URL 重写不起作用的情况下删除查询参数

我正在尝试使用包含的参数重写 URL,如下所示:https://mywebsite/FOF/news/page/page1.PHP?name=petter&country=usa

我认为它不像 url 那样美观,我希望它看起来更像这样:

https://mywebsite/spiderman

实际上是重写工作并给我这个结果 https://mywebsite/spiderman?name=petter&country=usa 直到 https://mywebsite/spiderman

这是我的重定向规则

##Enabling FollowSymlinks and disabling MultiViews options here.
Options +FollowSymlinks -MultiViews
##Setting rewrite base to / here.
RewriteBase /
RewriteEngine on
##rewriting for page1 uri here.
RewriteRule ^page1$ page1.PHP    
##External redirect rules here.
RewriteCond %{THE_REQUEST} \s/FOF/news/page/page1\.PHP\s [NC]
RewriteRule ^ /customPage? [R=301,L]

##Internal rewrite rules here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^customPage/?$ FOF/news/page/page1.PHP [L,NC]

如果有人可以帮助我

解决方法

使用您展示的样品,尝试;请尝试遵循 htaccess 规则。其中 customPage 是您要在浏览器上重定向的页面(显示问题中的蜘蛛侠)。这是针对您显示的示例的特定页面请求。

确保在测试您的 URL 之前清除浏览器缓存。

##Enabling FollowSymlinks and disabling MultiViews options here.
Options +FollowSymlinks -MultiViews
##Setting rewrite base to / here.
RewriteBase /
RewriteEngine on
##Rewriting for page1 uri here.
RewriteRule ^page1$ page1.php    
##External redirect rules here.
RewriteCond %{THE_REQUEST} \s/FOF/news/page/page1\.php\?name=(?:[^&]*)&country=(?:\S+)\s [NC]
RewriteRule ^ /customPage? [R=301,L]

##Internal rewrite rules here...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^customPage/?$ FOF/news/page/page1.php?name=petter&country=usa  [L,NC,QSA]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。