我很想知道如何使用htaccess重写get参数。
到目前为止,这是我的htaccess(仅删除index.php)。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
我想将以下网址http://example.com/?lang=en&dscroll=1200重写为http://example.com/en/dscroll/1200。有些htaccess高手,请:)?
由于
答案 0 :(得分:0)
您拥有的规则不会删除index.php,它只会重定向到前面没有www
的主机。
至于其他重写,您需要2.首先,您需要确保所有内容中的链接如下所示:
http://example.com/en/dscroll/1200
而不是具有查询字符串的那个。
然后你需要在你已经拥有的规则下面添加这两条规则:
RewriteCond %{THE_REQUEST} \ /+\?lang=([^&]+)&([^=&\ ]+)=([^&\ ]+)
RewriteRule ^ /%1/%2/%3? [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /?lang=$1&$2=$3 [L,QSA]