2013-05-20 133 views
0

的WordPress 3.5.1的WordPress的.htaccess重寫規則針對URL更改根

如何修改我的.htaccess文件重寫/把WordPress的在自己的子後重定向舊網址路徑到新路徑-directory(使用https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory - 使用預先存在的子目錄安裝)?

的問題 我有一個更老的WordPress安裝文件夾中的所謂的http:// {www.mywebsite.com URL}/WP。我修改了網站,並按照「移動」網站的說明操作,所以現在我的網域僅使用http:// {www.mywebsite.com URL} /作爲文件。 Wordpress現在可以運行所有的東西(不像我的舊網站,WP只是沼澤鏈接)。移動指令一般工作得很好。

但是,我希望我的舊鏈接(來自搜索引擎),如http:// {www.mywebsite.com URL}/wp/archives/1534重定向到http:// {www.mywebsite.com URL }/archives/1534。這不會發生在WordPress使用的默認重寫規則中。在僞代碼:

使用一般的重寫規則,除非 從一個鏈接,我想 以「條」的/從鏈路WP到來。

我嘗試了幾個引用Apache mod-rewrite文檔的重寫變體,但似乎沒有任何工作。我在樣品.htaccess文件下面由#Attempt {}號開頭試過線 - (我意識到,這些被註釋 - 在他們取消註釋真正的文件)

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 

#Attempt 1-- 
RewriteRule ^wp/(.*)$ /$1 [L,QSA] 

# Default WP ruls 
RewriteBase /wp/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /wp/index.php [L] 

#Attempt 2 -- 
RewriteCond %{REQUEST_FILENAME} wp 
RewriteRule (^/wp)(.*) $2 [L] 

</IfModule> 

# END WordPress 

是否有簡單的方法來實現這一點?

回答

0

試試這個 - 它會做一個完整的301重定向(你想要的,因爲這是一個永久不變的網址):

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

我也建議# BEGIN WordPress評論之前把它,因爲我認爲如果你改變某些設置,WordPress會重寫裏面的內容。

+0

謝謝你Nate。我嘗試了這些代碼和排列 - 包括在文件中的各個位置重新定位。不幸的是,這似乎沒有幫助。重寫從未受到影響。 (我希望有一種方法可以查看應用了哪些規則。) – SaB

+0

呵呵。我在這裏通過重寫測試器運行你的初始代碼:http://htaccess.madewithlove.be/它認爲你應該完成這項工作的第一次嘗試。你確定你正在更新正確的'htaccess'文件嗎? –

+0

今天我一直在與這個一起消失。我正在編輯.htaccess的/ root版本。我也看到了結果。我嘗試了以下,它幾乎可以工作RewriteCond%{REQUEST_URI} ^/wp RewriteRule ^/wp(。* +)$ $ 1 [R = 301,L]唯一的問題是這會縮短請求URI。所以如果我從http:// {{www.mysite.com}}/wp/archives/news開始,這裏的.htaccess代碼會重寫爲/ news(不僅是/ wp,還有關鍵/歸檔)。我嘗試在代碼中添加惰性限定符,但這似乎沒有幫助。嗯......太近了。 – SaB