1

mod_rewrite を使用して、作業中の Web サイトのよりきれいな 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 に答える