我有一个.htaccess重写如下
RewriteRule ^image/([a-zA-Z0-9]+)\/?$ image.php?q=$1 [NC]
这可让我将domain.com/image/flower.jpg
转换为domain.com/image.php?q=flower.jpg
并在image.php中,我测试<img src="$_GET['q']">
现在,如果我传递图像网址&#34; flower.jpg&#34;,我会在#34; image / flower.jpg&#34;上获得404,这意味着image.php将被视为文件夹& #34;图像&#34 ;.但是如果我添加一个../,它就可以了。我怎样才能在.htaccess中解决这个问题?告诉该图像是文件,而不是文件夹
答案 0 :(得分:0)
正如@Cheery已经提到的,该模式仅识别没有点的文件。要解决此问题,您可以添加一个点
RewriteRule ^image/([a-zA-Z0-9.]+)/?$ image.php?q=$1
或允许任何内容
RewriteRule ^image/(.+)/?$ image.php?q=$1