2014-07-06 50 views
1

我通过ADRESS有我的网站上的图像http://example.com/assets/gallery/11/65.jpg
我想通过URL有存取权限这一形象
siteadress /资产/画廊/ 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?
感谢

回答

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 并确保Web根目录目录块包含下列行之一:AllowOverride FileInfoAllowOverride All

+0

是的,这工作,有了一些变化:重写规则^资产/画廊/(\ d +) /[^_]+_(\d+).jpg assets/gallery/$ 1/$ 2.jpg [L]而不是RewriteRule^gallery /(\ d +)/ [^ _] + _(\ d +).jpg资产/画廊/ $ 1/$ 2.jpg [L]谢谢 – sock4proxy

+0

太棒了,很高兴它有帮助。 :) – zx81