2013-10-22 35 views
1

我很努力想出正確的代碼來做我所需要的。我已經通過SO和其他網站搜索,並找到答案關閉到我想要的,但我只是不能完全把它一起正確,.htaccess是我的一個巨大的弱點。通過htaccess刪除URL中的字符串

我想使它從網站上的所有網址中刪除整個文件夾級別,否則保留該結構。之後,我需要添加「.html」到最後。添加並不難,但我錯過了我需要刪除文件夾的內容。

開始網址:www.domain.com/ANYFOLDER/any-page-name

(獎金:www.domain.com/ANYFOLDER/ANYDEPTH/any-page-name

結束URL:www.domain.com/any-page-name.html

我們有一個客戶,誰是從一個靜態的網站,移動CMS驅動的,具有他的網址有一些很好的排名/流量,並且被嚇呆了,他會失去這個(我們不會將永久重定向作爲解決方案)。

回答

0

您可以使用此規則對於此重定向:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(?:[^/]*/)*((?!.+?\.html$)[^/]*)$ /$1.html [L,R=302,NC] 
+0

非常感謝你的代碼!我需要一次把這個分開,以確保我明白到底發生了什麼。 htaccess正則表達式語法總是讓我有點困惑(我很少使用它,所以我的熟悉程度很弱)。我注意到這實際上也影響了鏈接的對象。我沒有預料到這一點。例如'/ wp-content/themes/custom/style.css'變成'/ style.css.html'。對此有何想法? –

+0

請檢查我更新的修復css問題。 – anubhava

+0

謝謝你的幫助anubhava。我相信我會受到Wordpress的干擾,不會將其作爲一項功能處理。我不認爲這會是一個因素;我應該有更好的想法。我有「.html」部分工作。我會再次提出這個問題,但更具體地和在WP的背景下。謝謝! –