2013-02-02 109 views
-1

我有2個目錄,我想重命名而不會丟失我的搜索排名。這裏是URL慣例,並建議更改名稱:htaccess幫助重命名目錄

老:mysitename.com/folder1/folder2/filenames

新:mysitename.com/newfoldername1/newfoldername2/filenames

文件名是每個頁面的指定名稱

+0

你嘗試過這麼遠嗎?請張貼您嘗試過的並且有問題的規則。 (。*) –

+0

RewriteEngine敘述上 重寫規則^/folder1中/文件夾2 /(.*)$ $ 1/newfoldername1/newfoldername2/$ 2 R,L] – dBiz

回答

1

RewriteRule ^(.*)/folder1/folder2/(.*)$ $1/newfoldername1/newfoldername2/$2 [R,L]

這個規則的問題是,快退riteRules只在路徑上匹配,而不是域。您在規則的前面有(.*)/,就好像您嘗試匹配域一樣,這不是必需的。你也將它設置爲重定向而不是重寫...也許這就是你想要的,在這種情況下,保持「R」標誌像你一樣,但我會刪除它在下面的代碼中,以防萬一你只是想要重寫。修改規則如下,它應該工作:

RewriteRule ^newfoldername1/newfoldername2/(.*)$ /folder1/folder2/$1

編輯:現在你已經發布的其他規則,我刪除了[L]扭轉了爲了什麼,我認爲你正在試圖做的。

編輯2:上述規則假設您要輸入domain.com/newfoldername1/newfoldername2/whatever的用戶被默默地重寫爲domain.com/folder1/folder2/whatever。您的最新評論的表述反而表示您希望輸入domain.com/folder1/folder2/whatever的用戶重定向(換句話說,將其瀏覽器中的地址更改爲)domain.com/newfoldername1/newfoldername2/whatever,並且服務器已準備好處理此新路徑。在這種情況下,下面的規則要求:

RewriteRule ^folder1/folder2(/.*)?$ /newfoldername1/newfoldername2$1 [R = 301,L]

+0

這是完整的文件: #BEGIN WordPress的 RewriteEngine敘述在 RewriteBase/ 重寫規則^指數\ $ .PHP! - [L] 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重寫規則。的index.php [L] 1 重寫規則^問題/問題/(.*)$ /奧古斯塔/ GA/$ [L] #END WordPress的 仍然沒有工作 – dBiz

+0

我剛剛添加到您的問題(等待批准)......您應該將這樣的細節添加到更容易閱讀的問題中。 –

+0

當你說「這是完整的文件」......我看不到我提供的規則。你說你說它不起作用的地方是哪裏?規則順序非常重要。我提供的規則必須超越其他規則。另外,現在我看到了其他規則,我已經編輯了我的答案,省略了「[L]'」,這會阻止後續的規則。 –