2011-06-12 150 views
0

我有這個htaccess代碼。我想做到的是能夠將請求重定向到/約和/學習到/ wordpress的文件夾的內容,而不改變地址欄.htaccess代碼重定向不改變URL

#Rewrite engine rules 
RewriteEngine on 
RewriteBase/

RewriteCond $1 !^(index\.php|import\.php|geocode\.php|robots\.txt|BingSiteAuth\.xml|y_key_88c0d00f4917d584\.html|favicon\.ico|images|img|uploads|css|js|topics|wordpress) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

RewriteRule ^about$ /wordpress [L] 
RewriteRule ^learn$ /wordpress [L] 

與/內容作爲Web根目錄的結構如下:

/content 
/wordpress 
    index.php (the wordpress index.php) 
.htaccess (the one we are editing) 
index.php (the codeigniter index.php) 

但是,htacess代碼不起作用。

回答

0

事實證明,如果您重定向到WordPress的根目錄地址欄正在改變。所以我做的是在Wordpress中創建一個「學習」和「關於」頁面,以便他們進入/ wordpress/learn和/ wordpress/about。

將這個你上面的規則,那麼(僅低於RewriteEngine敘述和RewriteBase聲明):分別

RewriteRule ^about/$ /wordpress/$1 [L] 
RewriteRule ^learn/$ /wordpress/$1 [L] 

請求/約和/學習將被重定向到/ WordPress的/約和/ WordPress的/學習無改變地址欄。

注意:這似乎在Chrome中有問題。

0

嘗試在通配符規則上移動您的特定規則。

目前你有

RewriteRule ^(.*)$ /index.php/$1 [L] 

您的具體規則之前,此規則將首先觸發。 至於你的具體規則(關於/學習),你可能想重定向到/wordpress/index.php

請記住,如果你的wordpress文件夾有一個.htaccess文件,將使用一個代替CodeIgniter /根一個,但它似乎沒有通過您的文件列表。

+0

我可以使用Wordpress的htaccess而不是重定向/學習和/ about。順便說一下,你的答案不起作用。 – yretuta 2011-06-12 20:49:03

+0

重定向仍然由RewriteRule處理,即使在移動RewriteRule(s)for/about和/或學習之後,所有對index.php的請求都會通過。 – yretuta 2011-06-12 20:50:36

+0

如果在Wordpress文件夾中有一個.htaccess文件, t甚至在使用/ wordpress時使用 - 所以沒有任何東西可以使它在根.htaccess中工作。但是,是的,你可以將重寫轉移到你的WordPress的.htaccess相反 - 但我認爲wordpress已經通過配置支持SEO的URL? – 2011-06-12 20:51:21