这是我现在拥有的.htaccess
这应该在未来有效:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
问题是:
我怎样才能重写/tmp/some_image.png -> /image.php?file=some_image.png
我试图制定自己的规则,但没有成功。
Thanks.
/tmp 是您的网络服务器可以访问的目录吗?我希望它是一个单独的 /tmp 文件夹,而不是服务器的实际 /tmp 文件夹,因为这会带来安全风险。
无论如何,如果图像是物理文件,那么您需要将其放在重写之后以强制使用 HTTPS,并且在检查它是否是文件或目录的条件之前:
RewriteRule ^/tmp/([^\.]+)\.png$ /image.php?file=$1.png [NC,L]
您还可以检查其他扩展:
RewriteRule ^/tmp/([^\.]+)\.(png|jpg|gif)$ /image.php?file=$1.$2 [NC,L]
或者,如果您不在乎(所有内容都是 tmp 文件夹中的图像。尽管我不推荐这样做)
RewriteRule ^/tmp/(.*)$ /image.php?file=$1 [NC,L]
如果它不是物理文件,您可以将其中任何一个放在规则的末尾。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)