题
我试图做我的web应用程序如下:
<img src="static.example.com/image01.jpg?width=300&height=300" />
时有可能有我的服务器(我使用Apache的共享主机环境)中运行访问.JPG(或我选择的任何文件类型)当PHP脚本,而不是仅仅服务于文件?
我知道PHP脚本必须确立正确的头等等,我只是想知道如何能在第一位置运行。
我知道这可以如这样进行:
<img src="static.example.com/get_image.php?name=image_01.jpg&width=300&height=300" />
但是这不是我多么想拥有它。
解决方案
您可以使用mod_rewrite只要你是在一个子目录,或者说是所有其他static.example.com会做。
添加像这样到你的.htaccess该子目录。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{query_string} ^height=([^&]+)&width=([^&]+)
RewriteRule (.*\.jpg|.*\.png|.*\.gif) controller.php?name=$1&height=%1&width=%2
</IfModule>
编辑:尝试以上。和其他事物一样,未经测试...:)
的GET参数的顺序变得重要。
test.jpg?height=100&width=120
应该得到变成
controller.php?name=test.jpg&height=100&width=120
另一种办法是让Apache服务.JPG作为该目录的PHP脚本。 只要看看在你的httpd.conf或php.conf,寻找.PHP。查找指令,并为.JPG一个
<Directory>
内复制它。
我从来没有真正尝试过这种单个目录,但最终它会比mod_rewrite的路线更快。
是这样的:
<Files *.jpg>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
AddType application/x-httpd-php .jpg
不隶属于 StackOverflow