.htaccess、mod_rewrite、带有目录和文件类型的正则表达式
我想在以下条件下进行重写:
- 目录是 /images
- 文件具有 .jpg、.png 或 .gif 扩展名
我想重定向到以下内容
/images/?file=filename.extension
这不起作用:
RewriteRule /images/(.*\.jpg|png|gif) /images/?file=$1
示例:
/images/example.jpg
=> /images/?file=example.jpg
谢谢
I want to do a rewrite with the following conditions:
- Directory is /images
- file has a .jpg, .png or .gif extension
I want to redirect to the following
/images/?file=filename.extension
This is not working:
RewriteRule /images/(.*\.jpg|png|gif) /images/?file=$1
Example:
/images/example.jpg
=> /images/?file=example.jpg
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你需要括号来对扩展进行分组。
I think you need parens to group the extensions.
在 .htaccess 文件中,路径被去掉了前导斜杠,因此您需要以
images/
而不是/images/
开头。另外,您可以以^
开头来匹配路径的开头,这样/blahblah/images/something.gif
这样的路径就不会被重写。最后,您的 paren 将匹配foo.jpg
,但不匹配foo.png
或foo.gif
。试试这个:In the .htaccess file, the path is stripped of the leading slash so you need to start with a
images/
instead of/images/
. Also, you can start with a^
to match the beginning of the path so that paths like/blahblah/images/something.gif
won't get rewritten. Finally, your paren will matchfoo.jpg
but notfoo.png
orfoo.gif
. Try this instead: