好吧我有这个RewriteRule应该将文件base.css的任何请求重定向到{.htacces文件的文件夹} /include/style/base.css,但是我只是在无限循环中重定向,我想L参数将确保不会发生。
RewriteRule (.*)/base.css$ include/style/base.css [L,NC,R=301]
它也会重定向到http://localhost/C:/somemaps/include/style/base.css,它实际上也不应该这样做。
有谁能告诉我如何解决这个问题?
另外我想要RewriteRule所以它会将任何file.css重定向到{.htacces文件的文件夹} /include/style/file.css
BTW .htacces文件位于网站的根目录中(不是服务器的根目录!)
答案 0 :(得分:2)
你有重定向和重写困惑。重定向是HTTP状态代码,用于告知浏览器转到另一个URL。您实际上只想将位置重写到另一个文件位置。尝试
RewriteRule (.*)/(.*).css$ /include/style/$2.css [L,NC]
如果这不起作用,请尝试在RewriteEngine On
之后添加以下内容RewriteBase /my-virtual-folder-path-where-htaccess-is-stored
答案 1 :(得分:2)
此外,我想拥有RewriteRule,因此它会将任何file.css重定向到{.htacces文件的文件夹} /include/style/file.css
试试这个:
RewriteRule ([^/]+).css$ /include/style/$1.css [L,NC]
答案 2 :(得分:1)
此R = 301发出新请求。因此,它再次评估RewriteRule。
尝试使用重写条件(RewriteCond)排除此路径/目录。