如何将 PHP 查询 url 重写为实际图像?
我想将http://localhost/img.php?image=winter.jpg重写为http://localhost/img/winter.jpg图像名称会动态变化。
我试过这样,但它不起作用。
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.+img\.php\?.*?image\=(.+)[$&] ./img/$1 [NC]
谢谢。
[更新]
访问http://localhost/img.php?image=winter.jpg后,以下文本被附加到日志文件中。浏览器显示消息“未找到对象!在此服务器上未找到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试。”
127.0.0.1 - - [<time>] [localhost/sid#975148][rid#4d09cb8/initial] (3) [perdir Z:/xampp/htdocs/] strip per-dir prefix: Z:/xampp/htdocs/img.php -> img.php
127.0.0.1 - - [<time>] [localhost/sid#975148][rid#4d09cb8/initial] (3) [perdir Z:/xampp/htdocs/] applying pattern '^.+img\.php\?.*?image=(.+)[$&]' to uri 'img.php'
127.0.0.1 - - [<time>] [localhost/sid#975148][rid#4d09cb8/initial] (3) [perdir Z:/xampp/htdocs/] pass through Z:/xampp/htdocs/img.php
[更新]
错误日志说,
[<time>] [error] [client 127.0.0.1] script 'Z:/xampp/htdocs/img.php' not found or unable to stat
所以我创建了一个名为的虚拟文件img.php
,并且错误声明不再显示。我假设不需要一个虚拟文件。现在它只在我访问http://localhost/img.php?image=winter.jpg时显示虚拟 PHP 文件的内容
我试过[NC,L]
, [R,NC]
,[R,NC,L]
但没有一个有效。