2010-06-30 188 views
0

我只是重建當前位於URL htaccess的重寫

http://domainnamehere.com/v2

現有站點位於

http://domainnamehere.com/

我需要設置重定向,以便網站當有人前往舊網站時,它會重定向到新網站。我這樣做的htaccess文件:

Redirect /index.html http://domainnamehere.com/v2/ 

但這只是重定向網頁,而不是網站的其餘部分。我還有另一個鏈接到一個單獨的域的目錄。上述htaccess代碼重定向http://anotherdomain.comhttp://domainnamehere.com/v2。我不希望它重定向其他域名。因爲它重定向其他域名是因爲這些文件位於domainnamehere.com上的目錄中。我希望這是有道理的!

如果有人去http://domainnamehere.com/somethinghere我也希望它重定向到將位於404錯誤頁面在http://domainnamehere.com/v2/somethinghere

基本上,我需要對這種情況適當htaccess的代碼!

+0

那麼你想重定向所有請求到你的根目錄中的所有文件,但不重定向的根目錄中的文件夾?或者是否還有某些您不想重定向的文件?如果是這樣,你可以創建一個白名單或黑名單。白名單只是您想要重定向的頁面列表,或者黑名單將是您不想重定向的文件列表。 – William 2010-06-30 17:56:50

+0

是的,這是正確的,在一個文件夾的根目錄EXCEPT中的所有請求。我可以從規則中排除fodler嗎? – JCHASE11 2010-06-30 17:59:31

+0

所以是的,黑名單是解決這個問題的方法,我該怎麼做? – JCHASE11 2010-06-30 17:59:50

回答

0

這應該轉發{什麼是你削減後}到/ V2/{無論是你削減後}

RewriteCond %{HTTP:Host} ^domainnamehere\.com$ 
RewriteRule /(.*) domainnamehere\.com/v2/$1 

編輯:這是一個ISAPI重寫,但如果你是使用mod_rewrite語法類似。

+0

這導致了一個錯誤(當然我用適當的域名取代了域名) RewriteCond%{HTTP:Host}^domainhere.com $ RewriteRule /(.*)domainhere.com/v2/$1 – JCHASE11 2010-06-30 18:02:05

+0

500內部服務器錯誤確切 – JCHASE11 2010-06-30 18:02:29

+0

感謝您的更新,但仍然沒有運氣: 禁止 您沒有權限訪問/此服務器上。 – JCHASE11 2010-06-30 18:06:06

2
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?domainnamehere\.com [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/v2/$1 [R=301,L] 

注意:jfrobishow技術上先回答了這個問題,這只是一個修復。

編輯:添加了可選的www。