2014-07-06 48 views
1

我通過ADRESS有我的網站上的圖像http://example.com/assets/gallery/11/65.jpg
我想通過URL有存取權限這一形象
siteadress /資產/畫廊/ 11/image_65.jpg或
siteadress /assets/gallery/11/anytext_65.jpg
(siteadress = http://example.com/,我這樣寫,因爲我不能發佈兩個以上的鏈路)
我想這獲得的圖像通過他的網址與任何前綴

RewriteCond %{REQUEST_URI} ^/assets/gallery/([0-9]*)/(.*)([0-9]*)\.(.*)$ 
RewriteRule ^/assets/gallery/([0-9]*)/(.*)([0-9]*)\.(.*)$ %{DOCUMENT_ROOT}/assets/gallery/$1/$3 [QSA,L] 

但這並沒有工作

什麼規則我必須寫入mod_rewrite?
感謝

回答

0

嘗試添加該到.htaccess文件在網絡文檔根目錄文件夾(通常public_htmlhtdocs):

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-s 
RewriteRule ^gallery/(\d+)/[^_]+_(\d+).jpg assets/gallery/$1/$2.jpg [L] 

這是假設的mod_rewrite是安裝激活htaccess的文件 。 如果您不確定,要檢查mod_rewrite是否已安裝,請查看phpinfo(); 輸出中已安裝模塊的列表默認情況下,未針對htaccess文件啓用mod_rewrite。如果您正在管理自己的服務器上,打開httpd.conf 並確保Web根目錄目錄塊包含下列行之一:AllowOverride FileInfoAllowOverride All

+0

是的,這工作,有了一些變化:重寫規則^資產/畫廊/(\ d +) /[^_]+_(\d+).jpg assets/gallery/$ 1/$ 2.jpg [L]而不是RewriteRule^gallery /(\ d +)/ [^ _] + _(\ d +).jpg資產/畫廊/ $ 1/$ 2.jpg [L]謝謝 – sock4proxy

+0

太棒了,很高興它有幫助。 :) – zx81