2013-02-24 77 views
0

我有一個想法是殺了我,因爲我不是很好的htaccess。我的網址是http://(www./non-www.)example.com/dir/page/file。 但我想這重定向到目錄root/release/.../dir/page/file.htaccess目錄重定向版本發佈

所以

root/.htaccess 
root/release/1.0/... 
root/release/1.5/... 
root/release/2.0/... 
root/admin/1.0/... 
root/admin/1.5/... 
root/admin/2.0/... 
etc 

如果他們瀏覽到example.com/admin你去example.com/admin/2.0。但我認爲棘手的是,我不希望example.com/ release/version或example.com/admin/ version被看到。

或者我可以只有兩個版本release/stablerelease/beta

我希望是有道理的人, 感謝

+0

您認爲重寫規則將從哪裏獲得發行版號碼? – 2013-02-24 12:48:14

+0

手動輸入 – 2013-02-24 17:28:32

回答

0

聽起來像最簡單的事情將是使一個網頁一樣example.com/admin是元重定向到example.com/admin/2.0,那麼你只是做一個國防部重寫回去通用網址。隨着您增加版本,只需更改元刷新,因爲您的.htaccess mod-rewrite將具有與您的版本編號系統相匹配的reg-ex。

例如:

首先爲example.com/admin文件,實現一元刷新在標題:

<meta http-equiv="refresh" content="0;URL='example.com/admin/2.0'"> 

現在做從2.0重新寫入(或從任何版本)回哪裏你想去的地方:

#first, we need to define the request, in this case, admin/any number 
RewriteCond %{THE_REQUEST} /admin/([0-9]*) 
# now we need to make it look like it's just the plain admin page 
RewriteRule ^$ /admin [R=301,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^admin /admin/([0-9]*) [L] 

你需要修復我的REG-EX相匹配,使其2 「點」 0

+0

或者,您可以在沒有元刷新的情況下通過專門重定向到目錄中所需的版本來完成此操作。 – Dave 2013-02-24 12:54:34