2012-08-24 60 views
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仍然無法正常工作。

回答

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] 

此外,您可能有相對/絕對路徑問題。如果你的鏈接是相對的,它們將被新的路徑被改變,你需要添加一個:

​​

或任何基本路徑應該是你的所有相關鏈接。

+0

這解決了CSS和圖像的問題。不知道爲什麼JS不工作。我認爲這是一個重定向循環,因爲我的瀏覽器聲明它是一個重定向循環。 – akari

+0

@akari檢查以確保腳本鏈接不相對。 –

+0

我可以查看源代碼並單擊鏈接訪問文件,我不再收到錯誤,因此我不完全確定發生了什麼。 – akari