2012-09-12 71 views
1

在此基礎上正確的線程正則表達式:Proper regex for .htaccess redirect and prevention of hotlinks對的.htaccess內部重定向和URL縮短

我問一個更集中的問題(盜鏈解決)。

我做的圖像主體項目和正在編碼圖像名稱。我需要爲用戶提供一個簡短的URL來訪問他們的圖像。以下應被內部重定向:

domain.com/hsh1h.jpg(或其它圖像擴展)
domain.com/hsh1h

這些將被內部重定向到:
domain.com/image ?.PHP查詢= hsh1h.jpg
domain.com/image.php?query=hsh1h

的問題是,下面的網址不應該被重定向:

domain.com/ admin
domain.com/admin/index.php

我很抱歉創造了一個令人困惑的話題,並非常感謝您的幫助!

回答

1

嘗試:

# these rules ensure you aren't clobbering legit requests (like to image.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# just in case, exclude the admin directory 
RewriteCond %{REQUEST_URI} !^/admin 

# rewrite 
RewriteRule ^(.*)$ image.php?query=$1 [L] 
+0

非常感謝您的時間和耐心。我對於stackoverflow是新手,但你的耐心和知識肯定會讓我四處奔波。希望我能爲你的社區做出貢獻!感謝深度解決方案! – Munsterlander

0

這應該這樣做:

RewriteCond %{REQUEST_URI} !^/admin 
RewriteRule (.*) image.php?query=$1 

但這黑名單 - 一般我會建議使用白名單這樣的東西。