【问题标题】:htaccess mod_rewrite RewriteRulehtaccess mod_rewrite 重写规则
【发布时间】:2012-03-31 22:29:08
【问题描述】:

我很难让它发挥作用。也许有人可以帮助我。

如果用户打开

domain.com/folder/images/1.png

服务器应该重写为

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

由于网站的其他地方需要一些重写,我想我应该把这个的 .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。我可以将它包含在正则表达式中吗? 非常感谢您的帮助!

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    你可以把它放在你的根 htaccess 中(或者最好放在你的 vhost conf 文件中并禁用 AllowOverride,以禁用 htaccess)

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

    N 表示不区分大小写的 url。

    【讨论】:

    • 感谢您的快速答复!它打开了正确的文件,但我用 $_GET 读取的值是 image.php,我不知道为什么。有没有办法同时检查 png 或 jpg 作为文件的扩展名?
    猜你喜欢
    • 2020-11-25
    • 2012-07-22
    • 2010-12-25
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    相关资源
    最近更新 更多