2012-09-04 31 views
0

在我的HTML我想引用我的圖片是這樣的:Apache的mod_rewrite的和正則表達式

/images/articles/this-is-the-page-title-dgj4klci5j4.jpg 
/images/articles/thumbs/this-is-the-page-title-dgj4klci5j4.jpg 
/images/gallery/this-is-the-page-title-qj3k56l6kfm.jpg 

,但他們真的位於:

/_pics/articles/dgj4klci5j4.jpg 
/_pics/articles/thumbs/dgj4klci5j4.jpg 
/_pics/gallery/qj3k56l6kfm.jpg 

我的.htaccess文件是目前在該網站的根目錄,看起來像這樣:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^website\.com [NC] 
RewriteRule ^(.*)$ http://www.website.com/$1 [R=permanent,L] 

RewriteRule ^articles/ user/articles.php [L] 
RewriteRule ^gallery/ info/gallery.php [L] 

我必須這樣做,因爲在最後的可能時刻客戶決定他想要更清晰的圖像文件名,這似乎是一個快速合理的解決方案。

我想我可以將所有內容從/ images重定向到/ _pics,並通過使用mod_rewrite來取出頁面標題。問題是我對正則表達式不是很好,而且我也不完全理解mod_rewrite的工作方式。我可以得到一些幫助嗎?謝謝

真實圖像文件名只包含字母和數字,可以是JPG或PNG。

回答

2

嘗試在htaccess的文件中添加這條規則:

RewriteRule ^images/(.+)/[^/]+-([^/-]+)\.(jpe?g|gif|png)$ /_pics/$1/$2.$3 [L] 
+0

感謝,工作就像一個魅力 – pandronic

相關問題