.htaccess 不重定向干净的URL

.htaccess 不重定向干净的URL,.htaccess,redirect,.htaccess,Redirect,所以我在这里遇到了一个问题,我相信我是正确的,但它对我来说不起作用 非常简单,我想要我的当前URL是: tremorelights.com/chandelier-c-18.html?page=2&osCsid=vtemi4nqlioftbteam6nap0s77 要查看此URL,请执行以下操作: tremorelights.com/chandleier/2/ 所以我尝试将它重定向到干净的URL,这就是我现在拥有的 RewriteEngine On RewriteBase / RewriteRu

所以我在这里遇到了一个问题,我相信我是正确的,但它对我来说不起作用

非常简单,我想要我的当前URL是: tremorelights.com/chandelier-c-18.html?page=2&osCsid=vtemi4nqlioftbteam6nap0s77

要查看此URL,请执行以下操作: tremorelights.com/chandleier/2/

所以我尝试将它重定向到干净的URL,这就是我现在拥有的

RewriteEngine On 
RewriteBase /
RewriteRule ^chandelier-c-18.html?page=$1 chandeliers/([0-9]+) [QSA,L,R=301]

但这根本不起作用。当我手动输入干净的URL时,它不会给我一个404错误,但不会带我进入任何其他页面。

将您的规则更改为:

Options +FollowSymLinks -MultiViews
RewriteEngine On 
RewriteBase /
RewriteRule ^chandeliers/([0-9]+)/?$ chandelier-c-18.html?page=$1&osCsid=vtemi4nqlioftbteam6nap0s77 [QSA,L,NC]

您可以在重写规则中匹配查询字符串,您要匹配的是
%{the_REQUEST}
变量

尝试:

那么也许:

RewriteRule ^chandeliers/([0-9]+) chandelier-c-18.html?page=$1 [L]

我想你已经把它倒过来了,难道你不想把
tremorelights.com/chandleier/2/
重定向到
tremorelights.com/chandleier-c-18.html?page=2&osCsid=vtemi4nqlioftbteam6napos77
?嘿,乔恩,谢谢你的帮助,重定向成功了。现在唯一的问题是,在像这样干净的URL之后,它会继续附加这些变量:
tremorelighting.com/chandleiers/2?cPath=18&page=2&osCsid=25msjgqd9qnss50e039m9k3j96
,因为您可以看到干净的URL已经就位,我被重定向到它,但丑陋的变量仍然存在。谢谢您的帮助乔恩。你帮了大忙。
RewriteRule ^chandeliers/([0-9]+) chandelier-c-18.html?page=$1 [L]