簡體   English   中英

Apache mod_rewrite和正則表達式

[英]Apache mod_rewrite and regular expression

在我的HTML中,我想像這樣引用我的圖像:

/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。

嘗試在htaccess文件中添加此規則:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM