2010-07-07 109 views
0

.hello - 我需要轉換舊的url請求以適應新的網站內容;曾經是「顧問」所以,我怎麼能抓住「顧問」網址,並將其轉化爲「藝術顧問」mod_rewrite將舊的請求轉換爲新的請求

我的規則,如果^顧問$ MAKE ^藝術顧問$

即「藝術顧問」並繼續按照以下規則...

RewriteRule ^art-consultancy$ consultancy-02.php [L] 
RewriteRule ^art-consultancy/$ consultancy-02.php [L] 

RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)$ consultancy-02.php?section=$1 [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/$ consultancy-02.php?section=$1 [L] 
# 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)$ article-01.php [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/$ article-01.php [L] 

任何幫助讚賞!

ps。嘗試重定向/諮詢/藝術諮詢沒有任何運氣。認爲這種方法需要一個實際的文件?

最好,直流

+0

你的問題是什麼?你的規則不起作用嗎? – 2010-07-07 10:47:14

+0

如何在規則的其餘部分之前將htaccess更改爲'諮詢'給'藝術諮詢'... – v3nt 2010-07-07 14:20:13

回答

1

你基本上只是你說的正是你想做的事,在你與其他規則做了類似辦法的事,所以我不知道有多少這種素質要求在「答案」 ......但是,爲了完整起見的方式,我會繼續和寫出完整的東西:

(另外,我凝聚你的其他規則爲單行)

# Add in this condition because consultancy-02.php matches here too 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^consultancy(.*)$ art-consultancy$1 

RewriteRule ^art-consultancy/?$ consultancy-02.php [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/?$ consultancy-02.php?section=$1 [L] 
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ article-01.php [L] 

如果您想將consultancy轉換爲art-consultancy在用戶的瀏覽器URL,就應該更換一次RewriteRule本:

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

我不完全知道爲什麼Redirect像你期望它雖然沒有工作。如果你看看你的服務器的error_log它可能會告訴你,但否則很難不知道你的網站的目錄結構是什麼樣子。

+0

這是完美的! RewriteRule^consultancy(。*)$/art-consultancy $ 1 [R = 301,L] 非常感謝!擔。 – v3nt 2010-07-08 12:48:23