$ .png而不是status.php?channel = $

时间:2015-04-03 19:33:42

标签: .htaccess rewrite

我的.htaccess有问题。

我有一个名为status.php的脚本,它根据使用的名称显示有关用户的信息,例如status.php?channel = Kazuto。此脚本将信息显示为png图像。

对于仅允许通过BBCode作为签名的图像的电路板或论坛,这不是最佳解决方案,因此我想欺骗它并重写,以便也可以通过Kazuto.png访问

但由于某种原因,它无法正常工作。

hitbox.kazuto.de/status.php?channel=Kazuto> hitbox.kazuto.de/Kazuto.png

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+status\.php\?channel=([^&\ ]+)
RewriteRule ^ /%1.png? [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([^/\.]+)\.png$ status.php?channel=$1 [L,QSA]

有人会介意帮我吗?

1 个答案:

答案 0 :(得分:1)

在您的RewriteRule中,您有一个先前的/,不应该在那里。

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+status\.php\?channel=([^&\ ]+)
RewriteRule ^ /%1.png? [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)\.png$ status.php?channel=$1 [L,QSA]

此外,无需转义.内部字符类模式。