如何将照片名称中的下划线与mod_rewrite相匹配?

时间:2013-12-18 19:16:41

标签: regex .htaccess mod-rewrite

我正在尝试为我上传到我网站的照片设置一些更清晰的路径,以便更轻松地分享。目前,它们存储在/res/img/photo/{example.jpg},而我想通过/photo/{example.jpg}显示它们。

我的大多数照片都有带下划线的文件名,例如IMG_9711.jpg。我需要重写规则来匹配任何具有a-zA-Z0-9和潜在下划线的文件名,扩展名为(JPG|PNG|GIF),但我正在努力让mod_rewrite与我合作。重写规则应该如何看待这样的东西?

这是我现在拥有的,并提前感谢。

RewriteRule ^photo/([a-ZA-Z0-9_]+)\.(JPG|PNG|GIF)$ /res/img/photo/$1.$2 [L]

1 个答案:

答案 0 :(得分:0)

我认为您需要NC标记来忽略大小写,您可以使用\w代替[A-Za-z0-9_]

DOCUMENT_ROOT/.htaccess文件中尝试此规则:

RewriteEngine On

RewriteRule ^photo/(\w+\.(?:jpe?g|png|gif))$ /res/img/photo/$1 [L,NC]