2014-09-01 119 views
2

我試圖禁用/防止從舊的永久鏈接結構的WordPress的帖子。防止從默認永久鏈接的WordPress訪問結構

例如,我有自定義固定鏈接結構是這樣的:

http://blablabla*com/hello-world 

但是後仍然可以訪問使用舊的永久鏈接是這樣的:

http:/blablabla*com/?p=1 
http://blablabla*com/2014/09/01/hello-world 
http://blablabla*com/2014/08/hello-world 

我試圖刪除規範重定向使用本碼。

remove_filter('template_redirect', 'redirect_canonical'); 

似乎工作,老不固定鏈接重定向到我的新的永久鏈接:) 但問題:(我想禁用其他固定鏈接結構,併發送404錯誤。 我不在乎canoncial重定向,因爲它的新的網站,並沒有被搜索引擎索引。

因此,該職位只能訪問使用我目前的自定義固定鏈接,而不是其他結構。

我想檢查當前的URL,如果網址不等於當前永久設置,發送404錯誤。

+0

我這你刪除你的帖子,並希望顯示404Error當帖子ID不存在?! 試試這個:[wp plugin](https://wordpress.org/plugins/remove-old-slugspermalinks) – Masoud 2014-09-01 10:30:49

+0

不,但是我想爲現有的帖子發送404error,如果URL不等於當前的固定鏈接設置。我曾嘗試使用該插件。但不起作用,因爲我想禁用默認的WordPress永久鏈接結構,而不是每個頁面的slu g聲。順便說一下......感謝您的回答:) – Eirudo 2014-09-03 03:17:31

回答

1

最初發表的內部問題由作者

我找到了解決辦法:
獲取當前request_uri,並得到目前的職位永久鏈接,然後 他們的preg_match。因此,如果帖子訪問舊/醜陋的永久鏈接(或默認的WordPress永久鏈接結構),發送404錯誤。

+0

感謝brasofilo:D這個簡單的解決方案,並且有效。 – Eirudo 2014-11-17 03:18:52