我一直在将一些重写从.htaccess转移到vhost_ssl.conf文件中。除了那些利用我们的电子商务平台之外,大多数都很好。
我们使用Miva商人作为我们的电子商务平台,它为.mvc文件使用了自己的处理程序。当我对.mvc文件进行重写时,Apache (或nginx之类的)会抱怨.
AddType application/x-miva-compiled .mvc
Action application/x-miva-compiled /cgi-bin/mivavm
RewriteCond %{REQUEST_URI} ^/t3
RewriteCond %{REQUEST_URI} (/$|\.)
RewriteRule (.*) /mm5/merchant.mvc访问example.com/t3/:
无法执行't3/':没有这样的文件或目录
重写到“普通”文件(如.htm或.php )可以正常工作。我对这类事情的了解有限,但在我看来,服务器似乎不知道如何处理.mvc目标文件。如有任何建议,敬请谅解!
编辑:只是想指出,直接访问.mvc文件很好,所以服务器确实知道该做什么。重写似乎会让事情变得混乱。
发布于 2018-06-08 15:44:51
事实证明,我的重写需要添加PT (通通)标志,例如:
RewriteCond %{REQUEST_URI} ^/t3
RewriteCond %{REQUEST_URI} (/$|\.)
RewriteRule (.*) /mm5/merchant.mvc [PT]我们的cgi-bin目录上有一个ScriptAlias,这使得PT标志成为必要。PT标志是隐含在.htaccess文件中的,而不是在vhost中。详情请参见https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_pt。
https://serverfault.com/questions/910222
复制相似问题