2012-11-25 46 views
0

如果在請求的URL中未找到該文件,如何從另一個目錄(使用.htaccess)加載請求的文件?htaccess重定向到其他目錄中的文件

例如:

請求:mysite.com/samples/image_requested.jpg(不存在)

輸出:mysite.com/samples/missing/image_requested.jpg(不顯示在瀏覽器中的確切URL)

我試過,但它給我一個500 Internal Error

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/samples/ 
RewriteCond %{REQUEST_URI} !^/samples/missing/ 
RewriteRule ^samples/(.+)$ /samples/missing/$1 
+0

我不知道如何創建條件或我沒有得到你的想法...但你可以重定向它:RewriteRule ^/samples/missing/image_requested.jpg $ /samples/image_requested.jpg - 你可以嘗試替換「(。+)$」 「([^。] +)$」 – Darkeden

+0

感謝您的回覆。「([^。] +)$」不會開火。它給我404錯誤 –

+0

考慮發佈你的問題在這個論壇上 - http://www.webmasterworld.com/apache/ – Darkeden

回答

1

以下是jpg,png和gif文件的示例。它會始終顯示請求的URL(/samples/file.jpg),不是真正的一個(/samples/missing/file.jpg):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule samples/(.*\.(jpg|png|gif)) samples/missing/$1 [L] 
+0

謝謝。完美的作品! –