【问题标题】:Unable to access new installation of bolt with 404 on /bolt/bolt/users/edit/无法在 /bolt/bolt/users/edit/ 上使用 404 访问新安装的螺栓
【发布时间】:2014-10-14 20:57:10
【问题描述】:

平台:Mac OSX Maverics

Web 服务器:内置 apache 和 mod-rewrite,启用 php5_module

复制步骤:

  • cd /用户/用户名/站点/
  • mkdir bolt chmod a+rx bolt
  • 下载 Bolt zip 发行版
  • tar -xzf bolt_latest.tgz
  • chmod -R 777 文件/app/database/app/cache/app/config/theme/
  • 确保通过在bolt目录中创建一个test.php来启用php,通过浏览器访问,一切OK
  • 尝试访问 http://localhost/~username/bolt 观察到 404“/bolt/bolt/users/edit 在此服务器上不存在”
  • .htaccess 操作没有改变任何东西(比如启用重写等)
  • Apache 错误日志报告:/Users/username/Sites/bolt/bolt 不存在

我尝试将 bolt 目录移动到 httpd.conf 中表示的主文档根目录,结果完全相同。

请告知为什么我无法根据所有说明运行您的应用。非常感谢所有建议。

【问题讨论】:

    标签: php macos .htaccess bolt-cms


    【解决方案1】:

    我在将 bolt 应用程序部署到 amazon ec2 时遇到了这个问题。

    这就是它对我有用的原因:

    1) 编辑 http.conf:

    sudo nano /etc/httpd/conf/http.conf
    

    2) 在两个部分中将“AllowOverride None”更改为“AllowOverride All”:

    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All
    

    3) 重启httpd:

    sudo service httpd restart
    

    在这些更改之后,第一个登录页面运行良好。

    【讨论】:

      【解决方案2】:

      Apache 或处理 mod_rewrite 的某个地方很可能存在配置问题。

      由于重定向到 /bolt/bolt/users/edit 发生,我们知道应用加载正常,因此只需对重定向进行排序。

      这是一个适用于 OSX 的 Apache 设置,它可以让您更轻松地添加更多站点。打开在以下位置找到的文件: /etc/apache2/users/.conf

      确保里面有以下几行:

      NameVirtualHost *:80
      
      <VirtualHost *:80>
          VirtualDocumentRoot /Users/<user>/Sites/%1/public
          UseCanonicalName Off
          SetEnv ENV development
          <Directory /Users/<user>/Sites>
            Order allow,deny
            Allow from all
          </Directory>
          <Directory /Users/<user>/Sites/*/public>
            Options Indexes FollowSymLinks MultiViews
            Order allow,deny
            Allow from all
            AllowOverride All
          </Directory>
          FallbackResource /index.php
      </VirtualHost>
      

      注意替换每个实例:

      <user> 
      

      使用您的用户名。

      然后重启apache就可以把任何站点放到~/Sites//public中了

      它将服务于任何网站:

      <site>.dev 
      

      来自

      ~/Sites/<site>/public
      

      【讨论】:

      • 谢谢你,罗斯,我相信这个配置可以在正常的情况下工作。在我的情况下,它导致[error] [client ::1] Request exceeded the limit of 10 subrequest nesting levels due to probable confguration error - 重写规则有问题。最后,我厌倦了它并下载了 MAMP(下面是 Bopp 建议的),Bolt 开箱即用。
      【解决方案3】:

      Apache 错误日志报告:/Users/username/Sites/bolt/bolt 不存在

      这意味着它没有接受重写。你确定 mod_rewrite 工作正常吗?

      我也使用 OSX 进行开发,我使用的是 MAMP 或 XAMPP。它们比 OSX 的内置服务器 imho 更易于使用。

      【讨论】:

        【解决方案4】:

        该问题明确表示他们的服务器启用了 mod_rewrite,但我想强调这在您的计算机上可能不是真的。就我而言,未启用 mod_rewrite。运行sudo a2enmod rewrite 解决了这个问题。

        【讨论】:

          【解决方案5】:

          我不习惯使用内置的 Apache 服务器,但我也使用 MAMP,并且在多个在线服务器上遇到过类似的问题。

          如果我有错误消息,那么我只需要设置我需要的 PHP 版本

          SetEnv PHP_VER 5_4
          

          如果我在用户/编辑上有 404,那么我需要映射注册表

          AddType x-mapp-php5.4 .php
          AddHandler x-mapp-php5.4 .php 
          

          这可能不是您正在经历的,但以防万一它有帮助......

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-01-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-01-21
            • 1970-01-01
            相关资源
            最近更新 更多