0

我的mod-rewrite如下:

RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

因此,用户转到mysite.com/2012-10-16_1941.png并显示 page mysite.com/viewimg.php?n=2012-10-16_1941

这是我的PHP代码:

<?php
    echo $_GET['n'].".png";
    echo "<img src='".$_GET['n'].".png' alt='Image' />";
    echo "<br /><br />";
    echo "advert.";
?>

但是,它需要它试图嵌入的图像并且找不到它,因为它正在被重写。我该如何解决这个问题,以便图像只显示在 PHP 页面上?

我正在尝试制作一个像 Gyazo 使用的 PHP 脚本,如果你听说过的话。我的桌面应用程序将屏幕截图上传到 FTP,然后我使用这个 PHP 脚本来显示图像和广告。我只想要一个视觉上吸引人的 URL 来配合它。

4

2 回答 2

0

嗯,html img 标签的 src 值不能带任何 html,它只带一个图像文件路径。所以你可以你的代码返回一个图像文件,标记为广告(如果这是你想要的)

于 2012-10-17T04:36:29.647 回答
0

尝试添加查询字符串参数或检查引用:

请求参数:

php:

<?php
    echo $_GET['n'].".png";
    echo "<img src='".$_GET['n'].".png?embed' alt='Image' />";
    echo "<br /><br />";
    echo "advert.";
?>

mod_rewrite:

RewriteCond %{QUERY_STRING} embed
RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

推荐人检查

mod_rewrite:

RewriteCond %{HTTP_REFERER} ^http://mysite.com/$ [NC]
RewriteRule ^(.*)\.png viewimg.php?n=$1 [NC]

php:无需更改

两者都可以被欺骗以绕过带有广告的 php 页面,但查询字符串之一可能在不同的浏览器中效果更好。

于 2012-10-17T04:41:29.877 回答