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

$.png instead of status.php?channel=$

我的 .htaccess 有问题。

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

对于只允许通过 BBCode 图片作为签名的论坛或论坛,这不是最佳解决方案,所以我想欺骗它并重写它,以便它也可以通过 Kazuto.png[=14= 访问]

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

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= [L,QSA]

有人愿意帮我吗?

在你的 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= [L,QSA]

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