通过他的网址获取任何前缀的图像

时间:2014-07-06 16:09:33

标签: regex apache .htaccess mod-rewrite

我的网站上有一张地址http://example.com/assets/gallery/11/65.jpg 我希望通过网址访问此图片 siteadress / assets / gallery / 11 / image_65.jpg或
siteadress / assets / gallery / 11 / anytext_65.jpg
(siteadress = http://example.com/,我这样写是因为我不能发布两个以上的链接)
我试过这个

RewriteCond %{REQUEST_URI} ^/assets/gallery/([0-9]*)/(.*)([0-9]*)\.(.*)$
RewriteRule ^/assets/gallery/([0-9]*)/(.*)([0-9]*)\.(.*)$ %{DOCUMENT_ROOT}/assets/gallery/$1/$3 [QSA,L]

但这不起作用

我必须写什么规则给mod_rewrite?
感谢

1 个答案:

答案 0 :(得分:0)

尝试将此添加到您的网络文档根文件夹中的.htaccess文件中(通常为public_htmlhtdocs):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^gallery/(\d+)/[^_]+_(\d+).jpg assets/gallery/$1/$2.jpg [L]

这假设mod_rewrite 已为htaccess文件激活。 如果您不确定,要检查是否安装了mod_rewrite,请查看phpinfo();输出中已安装模块的列表 默认情况下,不为htaccess文件启用mod_rewrite。如果您要管理自己的服务器,请打开httpd.conf 并确保webroot目录块包含以下行之一:AllowOverride FileInfoAllowOverride All