2016-04-27 265 views
2

我試圖制定一個Wordpress重寫規則,這是我第一次這樣做。我有一些結果,但不是我期望的結果。Wordpress重寫網址

在我的網站上,我有許多類別的博客(美容,旅遊等)。而無需重寫URL是下一個:

http://mywebsite.com/blog/?cat=10 //where 10 is the category of Beauty. 

我希望它是這樣的:

http://mywebsite.com/blog/beauty 

這是我寫的規則:

add_rewrite_rule('blog/?$?', 'index.php?cat=$matches[1]', 'top'); 

有了這個規則,它被翻譯到:

http://mywebsite.com/category/beauty/ 

我猜我非常接近解決方案,但我不知道如何得到它。

非常感謝您的支持。

回答

1

您通常不應該在Wordpress unless you do it the Wordpress way中做自定義URL rewiting。 WordPress通常將所有請求重新路由到index.php,然後根據url加載正確的內容。自定義規則可能會中斷此過程並導致根本沒有內容加載。

這些類別默認情況下應該顯示爲http://mywebsite.com/blog/category/{{your-slug}}/。如果您希望這些類別在沒有/category/的情況下出現,您可以查看各種支持此功能的SEO插件(如YOAST)之一。您只需更改posts > categories中的字段,就可以使用您想要的任何類別slu text文本。

編輯

在我以前的答案,我認爲WordPress的是安裝在http://mywebsite.com/blog/。如果Wordpress網站的網址是http://mywebsite.com/,則可以使用父 - 子類別完成如下網址:http://mywebsite.com/category/blog/{{your-slug}}/。使blog成爲blog的一個類別和所需類別child category

爲了去除領先category你會在settings > permalinks使用自定義固定鏈接結構:

設置自定義結構:/%postname%/

設定的分類基礎。

+0

URL中包含或不包含「/ category /」是可選的。主要問題是「/ blog /」沒有出現。 – borjacastillo

+0

你的Wordpress網站的主頁在哪裏?它是'http:// mywebsite.com /'還是'http:// mywebsite.com/blog'?我假設你在一個子目錄中安裝了Wordpress。 –

+0

主頁是「http://mywebsite.com/」 – borjacastillo