我有一个类似http://exmple.com/company/?n=Brunswick%20&%20Sons的网址。
但我无法轻易理解重写规则。我希望查询类似于http://exmple.com/company/Brunswick%20&%20Sons。
任何人都可以帮助理解这件事,100%做这项工作。
答案 0 :(得分:1)
在root / .htaccess中尝试以下代码:
RewriteEngine On
#1)Redirect from http://example.com/company/?q=foo
#to http://example.com/foo
RewriteCond %{THE_REQUEST} /company/\?n=(.+)\s [NC]
RewriteRule ^ /%1? [B,NC,L,R]
#first round of rewriting ends here
#2) in this round , mod_rewrite will
#internally map http://example.com/foo to
#http://example.com/company/?n=foo.
#the following 2 conditions check if the /foo is an existent directory or file, skip the rewrite
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /company/?n=$1 [B,NC,L]