2017-02-08 80 views
-1

我有一個全新的網站取代了舊網站(原來是一箇舊的Joomla網站,而新的網站是Wordpress)。這些網站並不具有相同的結構,所以我需要將所有流量形成舊網站,重新定向到新網站的主頁。301在htacess中重定向完整的新網站

有人告訴我這是最簡單的方法,我需要在.htacess文件中做(主機是一個Appache機器,具有Cpanel接口)。

隨着緩存的激活,舊的網站有一些模式,如:www.website.com/index.php/en/folder_name/file.html 所以我想我需要轉發所有/index.php/en/*到www.website.com ...但我沒有找到任何類似的解決方案的問題歸檔。 由於我不熟悉.htacess命令是否有一個簡單的命令呢? 謝謝。

回答

0

所有你需要的是一個RewriteRule(並打開RewriteEngine

在這裏,我編輯已經存在的WordPress的.htaccess文件:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# The new rule, make it first, top priority 
RewriteRule ^index\.php/en//[R=301,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

這應該重定向所有index.php/en/請求主要網站。 (現在在我自己的服務器上測試過)。

請注意,Apache2需要啓用AllowOverridemod_rewrite,但由於您提到已經發生其他重定向,因此您應該很好。

+0

謝謝!不幸的是,它似乎沒有按預期工作:如果我編寫www.website.com/index.php/en/contact.html它重定向到www.website.com/en/contact.html我已經編輯它使用www.website.com/en/contact.html – ioanis

+0

一個絕對的URL,你可以嘗試,而不是 - 希望它可以幫助! –

+0

再次感謝您,但不幸的是仍然無法正常工作。也許是WordPress的核心重定向的一些東西? (或一些緩存? - 但我停用了從核心+ cpanel緩存設置的所有緩存)。或者可以是來自其他htacess規則的東西? – ioanis

0

在你oldsite /的.htaccess,添加此重定向

RedirectMatch 301 ^/index\.php/en/.*$ http://newsite.com/ 

這會的oldsite.com/index.php/en/所有請求重定向到newsite.com的hompage。

+0

謝謝你的迴應!對不起,我想我沒有很好地解釋我的問題:(我保留了域名,我只用一個新的現代版本更改了網站,爲簡單起見,我更改了CMS,但域名是一樣的。 – ioanis