请注意我的网址重写面临一些挑战。
我试图改写:
domian.com?v=subj to domian.com/subj
和 domian.com?v=subj&id=3到domian.com/subj/id
因此用户可以直接访问干净的URL。
这是我尝试过的不起作用的事情:
RewriteCond %{QUERY_STRING} ^v=(.*)$
RewriteRule ^index.php/?$ $1? [NC]
我也尝试了这个:
RewriteRule ^(.*)/([0-9])$ http://domain.com/$1/$2 [NC]
两者都不起作用。我需要对此作一些澄清。感谢。
答案 0 :(得分:2)
您可以使用以下2条规则将查询字符串重定向为SEF格式。
RewriteEngine on
#--Redirect "?v=foo&id=bar" to "/foo/bar"
RewriteCond %{THE_REQUEST} /index\.php\?v=([^&]+)&id=([^&\s]+) [NC]
RewriteRule ^ /%1/%2? [NC,L,R]
#--Rewrite "/foo/bar" to "?v=foo&id=bar"
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?v=$1&id=$2 [NC,QSA,L]