2011-01-27 53 views
0

我有我的主要Joomla安裝在一個子目錄中。我曾經使用301將用戶從www.mysite.com重定向到www.mysite.com/subdir,以便現場完全錯位。如何在修改Joomla安裝在子文件夾中的.htaccess後修復舊鏈接?

其實我並不喜歡這樣的事實,所有的URL由前面的子目錄/子目錄/(我也覺得這不是SEO非常好),所以我修改我的.htaccess文件是這樣的:

RewriteEngine On 

RewriteBase/
# Add trailing slash if path does not contain a period or end with a slash 
RewriteCond %{REQUEST_URI} !(\.|/$) 
RewriteRule (.*) http://www.mysite.com/$1/ [R=301,L] 

#Change http://yoursite.com to http://www.mysite.com (Optional) 
RewriteCond %{HTTP_HOST} ^mysite.com$ 
RewriteRule ^/?(.*)$ http://www.mysite.com/$1 [R=301,L] 

#Rewrites http://www.mysite.com/subdir to http://www.mysite.com/ 
RewriteRule ^(.*)$ subdir/$1 [L] 

我還編輯了Joomla的配置文件!所以現在網站上的所有鏈接(正確地)指向www.main.com/theirquery和noto到www.main.com/subdir/theirquery

但是,現在所有舊鏈接(已發佈到其他webistes,例如)似乎被打破(404):我該如何解決這個問題? 我想我必須重定向(301)他們到新的子目錄免費地址,這將是(另一次)與我貼的htaccess默默重定向。 但我不知道該怎麼做!

預先感謝您!

回答

0

這是不可能的,因爲舊的鏈接,其中沒有身體不適,而是存儲在數據庫中,所以沒有重定向通過數據庫再次路過他們是不可能的。

0

你可以嘗試在configuration.php中設置$ live_site參數嗎?你需要直接編輯它,而不是通過Joomla的後端。

0

您需要將此添加到您的htaccess。

RewriteRule ^subdir/(.*)$ /$1 [R=301,NC,L]