我正在使用mod_rewrite为我正在处理的网站创建更漂亮的网址。但是,我的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仍然无法正常工作。
答案 0 :(得分: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/">
或者所有相关链接的基本路径应该是什么。