0

我有一个 .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 复制并粘贴到浏览器中,它也可以正常打开。

我在这里测试了正则表达式,没问题。什么可能导致问题?

4

1 回答 1

1
RewriteRule ([a-z0-9\-\.]+)\.(js|css)$ $2/$1.$2 [NC,L]
RewriteRule ([a-z0-9\-\.]+)\.(jpe?g|png|svg|gif)$ img/$1.$2 [NC,L]
于 2012-10-18T12:36:50.273 回答