我可以访问主页并可以从数据库中获取数据。一切似乎都好。但是当我尝试从我的应用程序转到另一个页面时,我被重定向到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
是否是问题所在。可能是不同的东西,但我不知道是什么......
在localhost上,应用程序正常运行,一切正常。
编辑我尝试了几次更改后,终于让它工作了。
我按原样留下了服务器的.htaccess文件。所以它只有RewriteBase /
。
然后在我的.htaccess文件的第一行(位于projectname/public
文件夹中)我添加了这个:
RewriteBase /projectname/public
现在一切正常。
答案 0 :(得分:1)
按原样保留服务器的.htaccess文件。所以其中只有RewriteBase /
。
然后在第一行应用程序的.htaccess文件(位于projectname/public
文件夹中)中添加以下行:
RewriteBase /projectname/public
答案 1 :(得分:0)
您的域名(您的网址)必须指向/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