Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache htaccess重定向斜杠以获取参数_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Apache htaccess重定向斜杠以获取参数

Apache htaccess重定向斜杠以获取参数,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我设置了如下重定向: RewriteRule ^file/([^/]*)$ /file.php?name=$1 [L] 基本上是这样的: example.com/file/somefilename.png --> example.com/file.php?name=somefilename.png 它重定向很好,但当我尝试执行file.php时,它似乎并不关心斜杠后面是什么 我确实尝试了一些方法让它与file.php一起工作,但就是无法让它工作 提前感谢:通过添加以下内容,确保关闭“多

我设置了如下重定向:

RewriteRule ^file/([^/]*)$ /file.php?name=$1 [L]
基本上是这样的:

example.com/file/somefilename.png --> example.com/file.php?name=somefilename.png
它重定向很好,但当我尝试执行file.php时,它似乎并不关心斜杠后面是什么

我确实尝试了一些方法让它与file.php一起工作,但就是无法让它工作


提前感谢:

通过添加以下内容,确保关闭“多视图”:

Options -Multiviews

“多视图”是mod_协商的一部分,它试图通过部分匹配猜测您请求的文件。因此,当它看到/file/时,它认为您的意思是/file.php/,这导致重写规则被忽略。

您试图让它与file.php一起工作是什么意思?这就是你要重写的文件吗?您是如何尝试使用file.php的?您的预期结果是什么?基本上,我希望这两个:example.com/file/somefilename.png和example.com/file.php/somefilename.png都重定向到:example.com/file.php?name=somefilename.png,但根据该重定向规则,我想要重定向的第二个重定向规则中的一个没有得到file.php嗯,这没有帮助,我认为在这种情况下,问题是当前的重写规则甚至没有寻找file.php,它所关心的只是file@Newjorciks为什么要查找file.php?你的正则表达式清楚地写着/file/。是的,但这就是我需要的东西,我需要它来处理file.php/以及file/,我似乎确实做到了这一点,但它是有缺陷的,有时确实有效,有时没有,通过子域(导致file.php并允许重定向)访问它只是抛出了一个内部服务器错误。然后将规则更改为:RewriteRule^file?:\.php |/[^/]*$/file.php?name=$1[L]好的,谢谢,确实有效,现在我只需要弄清楚,如果我通过发送给file.php的子域转到file.php,它为什么会抛出内部服务器错误500:D