【问题标题】:Magento Godaddy No file input specifiedMagento Godaddy 未指定文件输入
【发布时间】:2013-10-31 09:39:34
【问题描述】:

我在 Godaddy 上有 Linux 虚拟主机。我尝试在子域上安装 Magento CE 1.8 一个多星期,但仍然无法正常工作。

在你说这个问题是重复的之前,我已经尝试了我在 Magento Wiki、论坛、谷歌和 Godaddy 论坛和支持上找到的所有内容,但我仍然无法让它工作。

对于 php5.ini,我使用 Magento php.ini.sample,.htaccess 也是来自 Magento。

在 .htaccess 中使用选项 -MultiViews 通常不会做任何事情。 php5.ini 中的设置 cgi.fix_pathinfo = 1 创建循环重定向。 我曾尝试在 .htaccess 中使用 RewriteBase,但这也没有帮助。

我读到 Magento 不能在 fcgi 上运行,所以我在我的 .htaccess 中使用,也没有帮助:

Options +ExecCGI
addhandler x-httpd-php5-cgi .php

我总是以“未指定文件输入”或循环重定向或服务器错误结束。

只添加我看到的错误日志中的行:

[Thu Oct 31 01:23:08 2013] [11988011] [negotiation:error] [client 5.178.58.85:65433] AH00687: Negotiation: discovered file(s) matching request: "path" (None could be negotiated).

但我不知道那是什么意思或如何解决。

那么还有什么我可以尝试的还是我错过了什么?我知道 Godaddy 共享主机上的 Magento 不是一个好主意,但我需要在我的客户专用服务器上运行我的开发和生产。

【问题讨论】:

  • 你在哪里得到这个错误..?我的意思是安装的哪个步骤..?
  • 一开始,在我上传 Magento 后,设置 chmod,我转到子域并将我重定向到 subdomain/index.php/install,我遇到了这个问题。所以我无法进行任何安装。
  • 我也尝试过复制安装的magento,前端主要工作在那里,但是当我尝试管理员时,我遇到了同样的问题。
  • 可以在这里发布你的网址吗..?
  • 我把它放在了pass后面,但是禁用了它,这里是地址romana.tomas-chyly.com

标签: magento magento-1.8


【解决方案1】:

将此添加到您的 .htaccess 文件中并忘记其他修复....

重写规则 ^index.php/(.*)$ [L]

【讨论】:

  • 其实这就是我所拥有的,我只是忘了在这里编辑我的答案
【解决方案2】:

如果 magento 位于子目录中,则使用:

RewriteRule ^index.php/admin(.*) {RewriteBase}/admin$1 [L]

【讨论】:

    【解决方案3】:

    所以我在网上尝试了几个星期的不同解决方案并试图获得支持来帮助我后,我设法解决了这个问题。

    没有什么能解决这个问题,所以我自己尝试了一下,发现问题是 url 中的“index.php”。所以我创建了简单的 php 函数,它在 index.php 文件的开头运行。此函数从 url 中删除“index.php/”并重定向到这个新的 url。

    还要从表单操作和其他可能显示 url 的地方删除“index.php”,最好创建自己的路由器模块或修改 Magentos 路由器。

    现在一切正常。

    PS: 我还保留了其他修复:

    在 .htaccess 中:

    Options +ExecCGI
    AddHandler x-httpd-php5-cgi .php
    AddHandler x-httpd-php5-cgi .php5
    
    Options -MultiViews
    
    RewriteBase /
    

    在 php5.ini 中

    cgi.fix_pathinfo = 1
    

    编辑

    我写的确实有效,但不是很好的解决方案,index.php 中的重定向当然会丢失所有 POST 数据。并且查看 Magento 和更改路由器需要太多的工作,所以最后我设法在 .htaccess 中为管理员创建了工作规则。只需将其作为 .htaccess 中的最后一个重写规则:

    RewriteRule ^index.php/admin(.*) /admin$1 [L]
    

    编辑

    这里忘记写了,改写成这样了:

    RewriteRule ^index.php/(.*) /$1 [L]
    

    【讨论】:

      猜你喜欢
      • 2015-09-18
      • 2014-02-06
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 2014-05-21
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多