【问题标题】:.htaccess first 3 characters as folder.htaccess 前 3 个字符作为文件夹
【发布时间】:2013-10-27 02:41:36
【问题描述】:

我不确定是否可以这样做,因为搜索答案并没有帮助(尽管说实话,我什至不确定如何用谷歌搜索)。无论如何,我有一个静态文件(图像)域 media.mydomain.com 。所有图像都有随机名称,并且就在域的主文件夹中。像这样:media.mydomain.com/123abcdefgh.jpg 。但是,我想将它们组织到文件夹中,所以我不会在一个文件夹中有 100.000 个文件。基本上,我很想拥有类似 media.mydomain.com/123/abcdefgh.jpg 的东西。字符串的前 3 个字符是文件夹名,其他是文件名。这个 URL 看起来也不错,如果没有解决方案,我会用它。但是,也许可以使用 .htaccess 并以某种方式使其占用请求 uri 的前 3 个字符并将它们重写到文件夹中,并将字符串的其余部分写入文件名?因此,当您访问 media.mydomain.com/123abcdefgh.jpg 时,服务器将访问 media.mydomain.com/123/abcdefgh.jpg 。我希望我的问题很清楚。有可能以某种方式做到这一点吗?提前感谢您的帮助。

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案1】:

    通过httpd.conf 启用mod_rewrite.htaccess,然后将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} !^/[^/]{3}/
    RewriteRule ^(.{3})(.+?\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1/$2 [L,R=302,NC]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多