我需要一些帮助来从Apache服务器获取公共文件。我可以通过这样的网址获取文件:
http://localhost:8888/MyProject/rest/api/getimage?image=IMG_20140325_175015_743612961.jpg
但是我希望通过这样的网址获取图片:
http://localhost:8888/MyProject/image/IMG_20140325_175015_743612961.jpg
我不知道该怎么做。图像路径:
http://localhost:8888/MyProject/rest/api/uploads/
P.S:我的例子是GET请求,但在项目结束时,所有请求都是POST请求。然后我永远不会允许GET请求。
答案 0 :(得分:1)
符号链接 -
ln -s /path/to/webserver_root/MyProject/rest/api/uploads/* /path/to/webserver_root/MyProject/image/
答案 1 :(得分:0)
在.htacess文件中使用Mod_Rewrite模块
<IfModule mod_rewrite.c>
RewriteEngine on
Options +Indexes +FollowSymLinks +MultiViews
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule .* $0.php
RewriteRule ^MyProject/image/([^/]*)$ MyProject/rest/api/getimage?image=$1 [L]
</ifModule>
这将以此格式http://localhost:8888/MyProject/image/IMG_20140325_175015_743612961.jpg
到这个
http://localhost:8888/MyProject/rest/api/getimage?image=IMG_20140325_175015_743612961.jpg
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule .* $0.php
注意:上面的代码允许在没有扩展名的情况下运行.php文件。
现在您需要编写一个脚本来捕获getimage.php文件中的$ _GET [&#39; image&#39;]变量。所以,在那里做点什么,
<?php
if(isset($_GET['image'])) {
$file = $_GET['image'];
echo '<img src="http://localhost:8888/MyProject/rest/api/uploads/'.$file.'" />';
}
else {
die('error');
}
?>