【发布时间】:2012-10-18 01:58:40
【问题描述】:
我有一个 .htaccess 文件,旨在通过获取文件扩展名从相应的文件夹中获取图像、js 和 css。它应该始终从根文件夹中的 /img、/js 和 /css 获取文件。
我为 css 和 js 设置的行可以正常工作:
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?([a-zA-Z0-9\-\.]+).js$ js/$3.js [NC,L]
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?([a-zA-Z0-9\-\.]+).css$ css/$3.css [NC,L]
但是当我尝试对图像使用类似的行时,我得到一个 403“您无权访问此服务器上的 /img/”。错误:
RewriteRule ^(([a-zA-Z0-9\-\.\/]+)/)?(([a-zA-Z0-9\-\.]+).(jpg|png|svg|gif))?$ img/$3 [NC,L]
主页中一切正常,但如果您尝试访问另一个页面,例如 mydomain.com/contact/,则会收到 403 错误。即使您将图像 URL 复制并粘贴到浏览器中,它也可以正常打开。
我测试了正则表达式here,没问题。什么可能导致问题?
【问题讨论】:
-
这是一个共享服务器,所以我无权访问日志文件。
标签: regex .htaccess http-status-code-403