2015-12-11 30 views
1

我有一个像http://exmple.com/company/?n=Brunswick%20&%20Sons的网址。更改网址为htaccess中的查询var WordPress的

首先,我已阅读此帖。 https://serverfault.com/questions/214512/redirect-change-urls-or-redirect-http-to-https-in-apache-everything-you-ever

但我不能理解重写规则容易。我想要的查询如http://exmple.com/company/Brunswick%20&%20Sons

任何人都可以帮助理解这个事情做这项工作100%。

+0

你有什么已经尝试过? – hjpotter92

回答

1

尝试在根/ .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]  
+0

首先,您表示RewriteCond%{THE_REQUEST} /company/\?n=(.+)\s [NC]是从http://example.com/company/?q=foo更改为http: //example.com/foo。但是我想要http://example.com/company/foo。所以我应该使用这一个。 %{THE_REQUEST} /\?n=(.+)\s [NC]以及对此的重写规则是什么。 – Ranjit

+1

我得到了解决方案。谢谢。 – Ranjit