htaccess和友好的URL有多个参数

时间:2015-11-03 14:56:12

标签: apache .htaccess redirect friendly-url

我没有使用htaccess的经验,所以我有这个网址:index.php?id = 1163& sub = hp 我已设法将第一部分转换为带有htaccess的友好网址:

www.mytesturl.com/index.php?id=1163进入www.mytesturl.com/computers/ 但是我需要转换整个url(两个参数),例如: www.mytesturl.com/index.php?id=1163&sub=hp进入www.mytesturl.com/computers/hp /

这是我的htaccess:

<IfModule mod_rewrite.c> 
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?perf=$1
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.mytesturl.com
RewriteRule (.*) http://www.mytesturl.com/$1 [R=301,L]
</IfModule>  

有人可以指出我正确的方向吗?第二条指令应在同一行或其必要条件下添加另一条规则或指令 类似于:RewriteRule(。*)http://www.mytesturl.com/ $ 1 [R = 301,L]

1 个答案:

答案 0 :(得分:0)

您可以使用:

RewriteEngine On

RewriteRule ^([\w-]+)/?$ index.php?perf=$1 [L,QSA]

RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?perf=$1&sub=$2 [L,QSA]

但请记住,正如您的问题所述,您的规则使用?perf=...作为第一个参数而不是?id=...