所以我在CentOS上安装了LAMP堆栈的基本Web服务器。它有mod_rewrite和所有基本模块。我使用的路由是在其他服务器和本地工作。但是当我尝试在新服务器上使用路由时,他们会给我404错误。现在踢球者是常规默认路由工作(即/ index / my-page工作,但特殊路由/我的页面不在此服务器上)所以我知道mod-rewrite正确触发。此外,没有具有路由名称的实际文件,因此没有冲突。
我的猜测是没有为路由器配置正确的东西我已经以同样的方式完成了这个并且没有问题。我想知道是否有人知道路由器可能需要运行的任何潜在的小东西,我可能错过了。
感谢您的任何见解。
更新:以下是我尝试过的重写htaccess条目
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
和(来自我工作的另一个Dev)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php [NC,L]
除了环境的额外标记之外,这里是routes.xml:
<routes>
<home>
<route>/home</route>
<defaults>
<controller>index</controller>
<action>index</action>
</defaults>
</home>
<lifetime-solutions-annuity>
<route>/lifetime-solutions-annuity</route>
<defaults>
<controller>index</controller>
<action>lifetime-solutions-annuity</action>
</defaults>
</lifetime-solutions-annuity>
<indexed-universal-life>
<route>/indexed-universal-life</route>
<defaults>
<controller>index</controller>
<action>indexed-universal-life</action>
</defaults>
</indexed-universal-life>
<wellness-for-life>
<route>/wellness-for-life</route>
<defaults>
<controller>index</controller>
<action>wellness-for-life</action>
</defaults>
</wellness-for-life>
<join>
<route>/join</route>
<defaults>
<controller>index</controller>
<action>join</action>
</defaults>
</join>
</routes>
答案 0 :(得分:1)
您确定已设置AllowOverride All或至少AllowOverride FileInfo吗?听起来Apache忽略了.htaccess文件。