2013-05-06 190 views
0

我想寫一個重寫規則來重定向我的新webhelp系統中的文件(這是一個獨立的網站)。 我有兩件事情我嘗試考慮 - 我只想重定向http://www.mydomain.com/webhelp文件夾中的文件。 我需要改變的.html到底爲.htm ...... 我管理本身通過​​匹配http://www.mydomain.com/webhelp找到每個規則,但 當我嘗試它打破了重寫COND ...Apache重寫規則正則表達式

基本上,其 http://www.mydomain.com/webhelp/hello.htmlhttp://www.mydomain.com/webhelp/hello.htm 不改變 http://www.mydomain.com/index.html

會很感激的任何幫助。 謝謝!

回答

0

您需要使用反向引用。喜歡的東西:

RewriteRule ^www/webhelp/(.*)[.]html([#])(.*)[.]html$ www/webhelp/$1.htm$2$3.htm 
RewriteRule ^www/webhelp/(.*)[.]html$ www/webhelp/$1.htm 
+0

嗨Gillyspy,您的幫助表示感謝。它沒有工作,我認爲這是因爲它看起來URL可能會更復雜一些,如下所示:http://www.mydomain.com/webhelp/webframe.html#advanced_improv.html – Yanipan 2013-05-06 04:49:53

+0

這意味着您需要重寫這兩個'.html'到'.htm'中?有多少可能?我上面重寫的兩條規則呢? – gillyspy 2013-05-06 14:31:18

0

如果你把一個.htaccess文件在您webhelp文件夾下面,它應該達到你在找什麼:

RewriteEngine on 

RewriteBase /webhelp/ 
RewriteRule ^(.*).html$ $1.htm [R=301,L] 
+0

這是一個更完美的版本,完全相同的東西。如果您不介意的話,請編輯現有的文章進行打磨,而不是發佈新的答案或添加評論。 – gillyspy 2013-05-06 14:34:55

+0

是的,謝謝你的評論,你是對的。我現在就試試這個,讓你知道。謝謝你的時間:) – Yanipan 2013-05-08 14:00:37