1

好的,我有这个 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 重定向到 {folder of .htacces file}/include/style/file.css
BTW .htacces 文件位于网站的根目录中(这不是根目录服务器!)

4

3 回答 3

2

您对重定向和重写感到困惑。重定向是告诉浏览器转到另一个 URL 的 HTTP 状态代码。您实际上只是想将该位置重写到另一个文件位置。尝试

RewriteRule (.*)/(.*).css$ /include/style/$2.css [L,NC]

如果这不起作用,请尝试在 RewriteEngine On 之后立即添加以下内容

RewriteBase /my-virtual-folder-path-where-htaccess-is-stored
于 2008-12-01T17:48:36.527 回答
2

我也想要 RewriteRule 所以它将任何 file.css 重定向到 {folder of .htacces 文件}/include/style/file.css

试试这个:

RewriteRule ([^/]+).css$ /include/style/$1.css [L,NC]
于 2008-12-01T17:56:40.083 回答
1

这个 R=301 发出一个新请求。因此它再次评估 RewriteRule。

尝试使用重写条件 (RewriteCond) 排除此路径/目录。

于 2008-12-01T17:49:23.747 回答