【问题标题】:Zend App is not working after deployment. Can access only the homepageZend App 部署后不工作。只能访问主页
【发布时间】:2012-09-07 13:42:53
【问题描述】:

我可以访问主页并可以从数据库中获取数据。那里一切似乎都很好。但是当我尝试从我的应用程序转到另一个页面时,我被重定向到404 error page。悬停链接时显示在浏览器左下角的 URL 似乎没问题。这是应该的。

我尝试将服务器上的.htaccess 文件从:

# Do not remove this line, otherwise mod_rewrite rules will stop working

RewriteBase /

收件人:

# Do not remove this line, otherwise mod_rewrite rules will stop working

RewriteBase /

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

但它又失败了。尝试了不同的组合。例如将RewriteBase / 更改为RewriteBase /projectname/public/RewriteBase /projectname/。仍然没有成功。

当然,我不确定.htaccess 是否是问题所在。可能有些不同,但我不知道是什么...

在本地主机上,应用程序正在运行,并且一切正常。

编辑:经过我尝试的几次更改,我终于让它工作了。

解决方法如下:

我保留了服务器的 .htaccess 文件。所以它上面只有RewriteBase /。 然后在我的 .htaccess 文件的第一行(位于 projectname/public 文件夹中)我添加了这个:

RewriteBase /projectname/public

现在一切正常。

【问题讨论】:

  • 您的生产域指向哪个目录?您的 htacces 和 index.php 也在哪个目录中?您仍处于开发环境中,以便您可以看到有关错误的更多详细信息?
  • 我想这会对你有所帮助stackoverflow.com/questions/12362670/…
  • 请写下您自己问题的答案并接受!

标签: .htaccess zend-framework deployment webserver web-deployment


【解决方案1】:

解决方案

保持服务器的 .htaccess 文件不变。所以里面只有RewriteBase /。 然后在应用程序的 .htaccess 文件的第一行(位于 projectname/public 文件夹中)添加以下行:

RewriteBase /projectname/public

【讨论】:

    【解决方案2】:

    您的域名(您的网址)必须指向/projectname/public/,您无需在.htaccess 文件中添加任何内容。 例如,这是我自己的.htaccess 文件(通过Zend_Tool 创建我的项目时生成)。我不需要RewriteBase! :

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ index.php [NC,L]
    
    SetEnv APPLICATION_ENV development
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2017-08-14
      • 2022-01-11
      相关资源
      最近更新 更多