2015-12-05 35 views
-1

下劃線我有一個WordPress站點在Apache服務器上運行,我想重寫某些URL的SEO友好的方式,所以該怎麼做如何通過htaccess的重寫網址,並更換破折號

目前,我有這個URL

www.example.com/about-us/?id=what_we_do_1 
www.example.com/about-us/?id=why_us 


我希望它像

www.example.com/about-us/what-we-do-1 
www.example.com/about-us/why-us 


和FO R此

www.example.com/media/?id=team 
www.example.com/media/?id=abc_xyz 


我想是這樣的

www.example.com/media/team 
www.example.com/media/abc-xyz 

我目前的.htaccess就像下面

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 
+0

是你的網站在wordpress –

回答

0

要轉換的網址一樣

/指數。 php?p = test

/index.php/test

RewriteEngine On 
RewriteCond %{QUERY_STRING} p=(.+) 
RewriteRule ^/?index.php$ /index.php/%1? [R,L] 

因此,在你的情況

RewriteEngine On 
RewriteCond %{QUERY_STRING} p=(.+) 
RewriteRule ^/?about-us?$ /about-us/%1? [R,L] 

同樣,對於

+0

謝謝piyush,但它不起作用。當我這樣做,它需要我404。 這些id像「?id = why_us」被jQuery用來顯示隱藏div –

0

你可以嘗試這些轉換下劃線其他頁面破折號: -

RewriteEngine On 
RewriteBase/

之後另一個網址: -

1)www.example.com/about-us/?id=what_we_do_1

htaccess的規則將是: -

RewriteRule ^about-us/(.*)$ about-us/?id=$1 [QSA,L] 

它可能會幫助你。

+0

你的第一個規則是什麼? – starkeen

+0

對不起,我編輯答案。 –

+0

現在對你有幫助嗎? –