1

我正在使用 mod_rewrite 为我正在开发的网站创建更漂亮的 URL。但是,我的 css 和 js 文件夹会导致重定向循环。

这是我的 .htaccess 中的内容

AddDefaultCharset On
AddDefaultCharset UTF-8
AddCharset UTF-8 .tpl
AddCharset UTF-8 .js
AddCharset UTF-8 .css
AddCharset UTF-8 .php

RewriteEngine On
RewriteBase /guildtree/
RewriteRule ^([a-zA-Z0-9_'-]+)/(.*)$        characters.php?realm=$1&name=$2     [NC]

我的 CSS 被重定向到

http://localhost/guildtree/css/error

我的 JS 被重定向到

http://localhost/guildtree/js/error

我的图像也都坏了,即使它们的路径是正确的。直接访问图像也会导致重定向循环。

http://localhost/guildtree/images/roster/error

是否有任何突出的原因导致此循环?谢谢。

更新:

CSS 和图像的问题已得到解决。JS仍然不起作用。

4

1 回答 1

1

这不是重定向循环,您的图像可能被 characters.php 路由捕获。在您的规则中添加一些排除项:

RewriteBase /guildtree/

RewriteCond %{REQUEST_URI} !\.(css|js|png|jpe?g|gif)$ [NC]
RewriteRule ^([a-zA-Z0-9_'-]+)/(.*)$        characters.php?realm=$1&name=$2     [NC]

此外,您可能有相对/绝对路径问题。如果您的链接是相对的,它们将被新路径更改,您需要添加:

<base href="/guildtree/">

或者所有相对链接的基本路径应该是什么。

于 2012-08-24T20:54:26.503 回答