.htaccess RewriteRule 将查询类型的 URL 结构转换为目录类型的 URL

.htaccess RewriteRule 将查询类型的 URL 结构转换为目录类型的 URL

我想要转换以下网址:

/letters.php?q=test&d=789&t=2

到:

/test/789/2

我尝试了下面的操作,但没有效果:

RewriteRule ^(.*)$ /letters.php?q=$1&d=$2&t=$3 [R=301,L]

答案1

您需要分解 RewriteRule 并提取 uri 的每个部分,即测试、789 和 2;如下所示:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ /letters.php?q=$1&d=$2&t=$3 [NC]

有一篇很好的文章.htaccess 技巧和窍门这显示了重写规则如何工作。

相关内容