2012-11-02 15 views
0

我需要幫助來創建Apache重寫規則。我的要求如下。Apache重寫規則用連字符替換下劃線並在末尾添加擴展名

源URL: 「HTTP://本地主機/目錄/ FILE_NAME_1」

目標網址: 「HTTP://localhost/file-name-1.html」

注:以上要求不對於靜態URL,但會有任何其他字而不是「目錄」和「file_name_1」。

  • 「目錄」 字應該在新的重定向URL中移除
  • 下劃線(_)應該用連字符代替( - )
  • 「文件名-1」 應該與html擴展結束。

我很感謝您的回覆。

回答

0

以下規則我都用過,現在它正在發揮作用。

RewriteEngine On 
    RewriteCond  %{REQUEST_URI} !^/([A-Za-z0-9]+)/([A-Za-z0-9_]+)$ 
    RewriteRule  .* - [S=3] 
    RewriteRule  ^(/?.*/[^/]*?)_([^/]*?_[^/]*)$ $1-$2 [N] 
    RewriteRule  ^(/?.*/[^/]*?)_([^/_]*)$ $1-$2.html [NC] 
    RewriteRule  ^/(.*)/(.*)$  $2    [R,L] 
0

試試這個

RewriteEngine On 
RewriteRule ^(/?.*/[^/]*?)_([^/]*?_[^/]*)$ $1-$2 [N] 
RewriteRule ^(/?.*/[^/]*?)_([^/_]*)$ $1-$2 [R=301] 
+0

謝謝Sergiy。如何在URL末尾添加擴展名。 –

+0

謝謝sergiy。它正在工作。但它只是從「_」重定向到「 - 」。我們如何重寫它。還有什麼我們需要把我的.htaccess文件。? – suiz

相關問題