2012-03-31 117 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