2012-03-31 155 views
0

我很難得到這個工作。也許有人可以幫助我。htaccess mod_rewrite重寫規則

如果用戶打開

domain.com/folder/images/1.png

服務器應該改寫爲

domain.com/folder/images/ image.php?file = 1.png

因爲需要重寫某些東西lswhere在網站上,我想我應該把這個一個.htaccess文件到

domain.com/folder/images/

RewriteEngine on 
RewriteRule ^([\.\-_0-9A-Za-z]+)$ image.php?file=$1 [L] 

但不知何故套

$ 1 = image.php

而不是使用實際的文件名。如果我使用

RewriteEngine on 
RewriteRule ^([\-_0-9A-Za-z]+)$ image.php?file=$1 [L] 

重定向只有在它

適用於字符串沒有一個時期,如果我能在domain.com的根將它與一個單一的.htacces文件獲取多個文件夾行爲甚至更好。哦,順便說一句,文件擴展名只能是JPG或PNG。我可以將其納入正則表達式嗎? 幫助將不勝感激!

回答

0

你可以把這個在你的根htaccess的(或在你的虛擬主機的conf文件更好禁用的AllowOverride,以禁止使用的htaccess的)

RewriteRule ^folder/images/([\.\-_0-9a-z]+)$ folder/images/image.php?file=$1 [L,N] 

N表示不區分大小寫的URL。

+0

感謝您的快速回答!它打開正確的文件,但我用$ _GET讀取的值是image.php,我不知道爲什麼。有沒有辦法檢查PNG或JPG作爲文件的擴展名? – danielheinrich 2012-03-31 22:54:40