2010-07-22 62 views
0

編輯:下面.htaccess重定向和變量?

好的代碼有問題,我得到一個網頁,上面寫着「該頁面沒有正確重定向」。這是如果有人試圖訪問/files/protected/file.jpg。我想它重定向到/myfiles/file.jpg,而是我得到這個錯誤...

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase /myfiles/ 
    RewriteRule ^(.*)$ $1 [L,R=301] 
</IfModule> 

本質上講,我試圖找出如何添加將保留部分重寫條件的路徑。例如,如果用戶嘗試訪問目錄中的文件,它將重定向到具有該文件名作爲參數的另一個URL。

因此,如果用戶訪問:mysite.com/protected/file.pdf,它會重定向到mysite.com/okay/file.pdf

是這樣的東西,我可以使用的.htaccess的呢?

回答

2

你需要把你的.htaccess文件在你的站點根目錄。然後,假設你想要一個外部重定向,它應該包含以下內容:

RewriteEngine On 

RewriteRule ^files/protected/(.*)$ myfiles/$1 [R=301,L] 

您當前的規則總是匹配,所以它執行重定向的無數次,和你結束了這個錯誤。

1

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

您想了解與正則表達式組的RewriteRule反向引用的部分由$ N引用。

對於你的榜樣,我覺得這是你自己的預期:

RewriteRule ^(mysite\.com/)protected(/.*) $1okay$2 
+0

好的...仍然有一些問題...我編輯我的帖子上面,以顯示我迄今爲止所做的... – KarmaKarmaKarma 2010-07-22 18:07:15