1

我想将网址http://www.mywebsite.com/tutos/tutos.php?q=my-tuto/tuto-1.html重定向到 http://www.mywebsite.com/tutos/tutos/my- tuto/tuto-1.html,如何使用 .htaccess 做到这一点?

我试过这个,但它不工作......:

RewriteRule ^http://www.mywebsite.com/tutos/([^-]*)$ http://www.mywebsite.com/tutos/tutos.php?q=$1 [L,QSA]

谢谢 !

4

1 回答 1

1

你所拥有的规则似乎与你所说的你想要的相反。它将非查询字符串 URL 重定向查询字符串 URL。但如果这是您想要的,您需要从正则表达式中删除主机和协议。只有 URI(无查询字符串)用于匹配 a RewriteRule

RewriteRule ^tutos/([^-]*)$ /tutos/tutos.php?q=$1 [L,QSA,R=301]

但是,如果您希望像您所问的那样反过来:

RewriteCond %{QUERY_STRING} (.*)(^|&)q=([^&]+)(.*)
RewriteRule ^tutos/tutos.php$ /tutos/%2?%1%3 [L,R=301]
于 2012-08-20T10:26:14.810 回答