website.com/index.php/page有效但site.com/page没有

时间:2017-06-30 00:17:45

标签: laravel .htaccess mod-rewrite laravel-5 hosting

以下是我专门讨论的网站:http://anomet.com。 主页加载正常,但导航到另一个页面不会,除非它的前缀是index.php。例如:http://anomet.com/index.php/lighting有效,但http://anomet.com/lighting没有。该网站使用Laravel 5.4.15创建。该网站托管在Bell的服务器上,当我打电话给他们时,他们说应该启用mod_rewrites。我也在我的存储文件夹上设置了适当的权限(755),因为我读过没有Laravel文件夹的适当权限可能会导致此问题。这是我的.htaccess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>
    RewriteEngine On
    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>


AddHandler phpCGI .xml .php
Action phpCGI /cgi-bin/php5.6fcgi
# for php5 and securewebexchange
<IfDefine SSL>
    AddHandler phpCGI .xml .php
    Action phpCGI https://secure9.securewebexchange.com/anomet.com/cgi-bin/php5.6fcgi
</IfDefine>

贝尔说错了mod_rewrites是否已启用?技术支持人员对手机没有信心,他们实际上没有检查配置文件(例如httpd.conf或apache.conf),看看它是否有类似AllowOverride All或{{1}的内容在里面。

最后,我将完全相同的文件上传到Namecheap服务器(https://kdev.solutions/),一切都在那里工作,这进一步让我相信问题出在Bell的服务器配置上。

0 个答案:

没有答案