2013-05-20 54 views
0

我正在使用.htaccess重定向規則從URL中刪除index.php,當我嘗試訪問mysite.com/index.php重定向到mysite.com時,它工作良好。我在.htaccess中使用的重定向規則是:如何從URL中間刪除index.php

RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ http://e-tribina.com/$1 [R=301,L] 

但是當我嘗試訪問前綴的URL時。 mysite.com/index.php/folder/folder1它仍然有效。它不會從URL的中間刪除index.php。我的Google網站管理員工具向我展示了mysite.com/folder和mysite.com/index.php/folder的重複描述/關鍵字,並且這兩個鏈接仍然有效。

任何htacces規則從URL中間刪除index.php並重定向到URL沒有它?

使用Joomla 2.5.11。順便說一句。

Appriciate任何幫助。

+0

通常情況下,您可以將包含joomla的「htaccess.txt」文件重命名爲「.htaccess」。然後轉到全局配置並檢查站點選項卡。在右側,前兩項(搜索引擎友好URL和使用URL重寫)都應該打開,你根本看不到index.php。 –

回答

2
RewriteRule ^index\.php/[R=301,L] 
RewriteRule ^index\.php\/(.+) /$1 [R=301,L] 
RewriteRule ^(.+)\/index\.php\/(.+) /$1/$2 [R=301,L] 

您必須檢查字符串的結尾,而不是開頭。此外,如果您在子文件夾中有index.php,則第三條規則將處理此問題(前提是您必須具有必要的無聲規則)。

注意:只有使用R=301如果它適合你。否則,要進行測試,請使用R

0

首先將htaccess.txt重命名爲.htaccess。

然後轉到全球CONFIGRATION和設置使用URL重寫 - 是

然後保存&檢查

可能這一個非常幫助!