不重定向到干净的URL

时间:2014-03-19 18:35:47

标签: .htaccess redirect

所以我在这里遇到了一个问题,我相信我说的没错,但这对我来说不合适。

如此简单,我想要的是当前的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错误,但它不会将我带到任何其他页面。

2 个答案:

答案 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]