我有一个 .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 复制并粘贴到浏览器中,它也可以正常打开。
我在这里测试了正则表达式,没问题。什么可能导致问题?