2017-07-25 63 views
1

今天,我將我的wordpress網站從根目錄移動到同一個域中的子目錄。我將所有文件移動到新的子目錄。我也有安裝301通配符重定向從主機的cPanel移動到子目錄後WordPress重定向不工作

301通配符重定向設置 -

舊地址 - https://www.example.com

新地址 - https://www.example.com/blog/

當我直接訪問任何職務像https://www.example.com/blog/this-is-a-post那麼它顯示正確的帖子沒有任何錯誤,但是當我打開沒有「博客」字樣的同一帖子時的問題,即https://www.example.com/this-is-a-post,那麼它也顯示正確的帖子,而不是r將其編輯爲https://www.example.com/blog/this-is-a-post

當我通過谷歌瀏覽然後逛舊地址唯一,即無字「博客」。

一件事是發生被重定向到https://www.example.comhttps://www.example.com/blog這也是我不想什麼,因爲我有一個網頁不同的HTML索引文件在WordPress後臺

URL設置 -

WordPress的地址(URL) - https://www.example.com/blog

網站地址(URL) - https://www.example.com/blog

內容.htaccess文件:

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

# END WordPress 
+0

請包括您的.htaccess文件的內容。 cPanel重定向非常基本,容易出錯,它也可能將指令放在錯誤的地方(如果你使用的是WordPress)。 – MrWhite

+0

是的,我添加了.htaccess文件的內容,並通過cpanel/blog /添加301通配符重定向後自動添加到它 –

+0

您是否訪問過'/ wp-admin/permalinks'頁面?這通常會有所幫助。您是否嘗試了隱身模式進行測試?我看起來很好。您可能會在瀏覽器中緩存某些內容。 – admcfajn

回答

0

去除從根目錄移除301的WordPress的.htaccess和index.php文件後,從的cPanel重定向。該問題得到解決。現在我在roodex.com有不同的歡迎頁面,並在roodex,COM /博客WordPress的博客,但現在的問題是,當訪問通過谷歌搜索結果那麼谷歌展示老後的URL鏈接,參觀過之後它顯示「未找到「而不是重定向到新的網址。

假設你只能從你的站點的根目錄服務靜態文件(即你沒有虛擬的URL和前端控制器像WordPress),那麼你可以做的最好的是重定向根的任何請求沒有映射到物理文件的目錄(/blog之外),到您的/blog子目錄,並希望最好。如果URL不存在於WordPress中,那麼您只需獲取WordPress的404頁面即可。

我假設您在處理WordPress請求的/blog子目錄中有.htaccess文件?

所以,在根網站(我相信現在是空的)的.htaccess文件,請嘗試以下操作:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule !blog/ /blog%{REQUEST_URI} [R=302,L] 

更改302(臨時)重定向到一個301(永久)當你確定這工作正常。 301s被瀏覽器強制緩存,因此可能導致測試出現問題。

+0

是的,它開始重定向。它會創建問題,如果我安裝另一個PHP腳本或登陸頁面或另一個WordPress的cms在根目錄中? –

+1

如果您安裝使用前端控制器類型模式的腳本(其中所有不存在的/虛擬URL都會被重寫)會導致問題請去處理路由的腳本) - 這幾乎包括所有的CMS。因爲你無法盲目地將所有不存在的URL重定向到你的'/ blog'子目錄。但是,如果您的CMS允許,您可以使用CMS的404(不是'.htaccess')重定向。或者,您可以單獨重定向所有舊網址,除非舊網址具有特定的_pattern_(這將允許您創建單個規則)。 – MrWhite

+0

如果這回答了您的問題,請通過檢查左側的綠色勾號接受上述答案。您也可以提出您認爲有用的答案。非常感謝,謝謝。 – MrWhite