所以我在这里遇到了一个问题,我相信我说的没错,但这对我来说不合适。
如此简单,我想要的是当前的URL,即: tremorelights.com/chandelier-c-18.html?page=2&osCsid=vtemi4nqlioftbteam6nap0s77
看起来像这样的网址: tremorelights.com/chandelier/2 /
所以我正在尝试将其重定向到干净的URL,这就是我现在所拥有的。
RewriteEngine On
RewriteBase /
RewriteRule ^chandelier-c-18.html?page=$1 chandeliers/([0-9]+) [QSA,L,R=301]
但这根本不起作用。当我手动输入干净的URL时,它不会给我404错误,但它不会将我带到任何其他页面。
答案 0 :(得分:0)
将您的规则更改为:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^chandeliers/([0-9]+)/?$ chandelier-c-18.html?page=$1&osCsid=vtemi4nqlioftbteam6nap0s77 [QSA,L,NC]
答案 1 :(得分:0)
您可以在重写规则中匹配查询字符串,您想要匹配的是此处的%{THE_REQUEST}
变量。
尝试:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \ /+chandelier-c-18.html\?page=([0-9]+)
RewriteRule ^ chandeliers/%1? [QSA,L,R=301]
然后可能:
RewriteRule ^chandeliers/([0-9]+) chandelier-c-18.html?page=$1 [L]