website.com/index.php/page работает, но website.com/page нет
Вот сайт, о котором я специально говорю: http://anomet.com/. Домашняя страница загружается нормально, но переход на другую страницу - нет, если только у нее нет префикса index.php. Например: http://anomet.com/index.php/lighting работает, а http://anomet.com/lighting - нет. Сайт создан с использованием Laravel 5.4.15. Сайт размещен на сервере Белла, и когда я позвонил им, они сказали, что 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
или же Require all granted
внутри него.
Наконец, у меня есть те же самые файлы, загруженные на сервер Namecheap ( https://kdev.solutions/), и там все работает, что еще больше заставляет меня поверить, что проблема в конфигурации сервера Bell.