2014-06-16 145 views
1

我的請求看起來很熟悉,但有一個技巧:)
我們有一個網站,重定向到主頁面內容的每日創建文件夾。隱藏動態URL目錄

website.com/static-folder/dd-mmm-yyyy/index.html 

所以,website.com轉到URL上面今天的日期。

我們如何總是隱藏URL中的目錄,並只顯示域名?

website.com 

我知道,使用mod_rewrite的做工作,但不知道該代碼,以動態更改日期的文件夾。

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteCond %{REQUEST_URI} !^/static-folder/dd-mmm-yyyy/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /static-folder/dd-mmm-yyyy/$1 

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteRule ^(/)?$ /index.html [L] 

感謝,

+0

謝謝@CBroe,但這沒有奏效。我得到(500內部服務器錯誤錯誤),我已經編輯了上述問題,因爲該文件夾代表3個月的信函格式(1月,12月,...) – user3745754

回答

0

您可以使用在description of RewriteCond對列出的環境變量 - 在那裏,你會發現TIME_DAYTIME_MONTIME_YEAR。前兩個是兩位數字(適用時以零爲前綴),第三個是四位數字。

您可以在RewriteRule替代直接使用它們,像

RewriteRule ^(.*)$ /static-folder/{TIME_DAY}-%{TIME_MON}-%{TIME_YEAR}/$1 

應該爲你的情況下工作。

雖然不確定,但是您可以在您的第二個RewriteCond中使用它們,您也可以在右邊進行比較。但是您的條件#3和#4應該已經足以停止在這裏重寫,因爲一旦請求已被重寫到現有當天的文件夾,!-f或者!-f或者!-f或者!-f!-d應該已經捕捉到了。

+0

我得到(500內部服務器錯誤錯誤)和我已經編輯了上面的問題,因爲該文件夾代表三個字母格式的月份(Jan,Dec,...) – user3745754

+0

該格式似乎不可用。 – CBroe

+0

有沒有辦法將/ static-folder/dd-mmm-yyyy /保存到變量中並將其添加到RewriteRule中? – user3745754