apache setup .htaccess rewriteRule с laravel - PullRequest
0 голосов
/ 05 апреля 2020

я настраиваю (laravelproj / public / .htaccess)

Примеры, с которыми я работал на 2 разных серверах:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>
    RewriteEngine On

    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://takaful.hsn93.com/$1 [R,L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

</IfModule>

сейчас я пытаюсь на цент OS apache (httpd) (если это имеет значение) enter image description here и когда я добавляю ссылку (http://example.com/)

У меня нет других проблем, кроме этой ссылки ^ без параметров ^

Запрещено

У вас нет прав доступа / на этом сервере.

, чтобы заставить его работать, я бы прокомментировал эту строку (условие, при котором проверяется, является ли запрошенный каталог не:

 #RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^ index.php [L]

, что имеет смысл, потому что / это, конечно, каталог ..

но почему эта конфигурация .htaccess работала на всех других машинах? что отличается на этой машине, что делает это условие возвратным запрещенным из apache

1 Ответ

0 голосов
/ 05 апреля 2020

Я обнаружил, что проблема в том, что httpd.conf

не индексирует (index. php) файлы только (index. html)

, поэтому я изменил его

<IfModule dir_module>
    DirectoryIndex index.html
    DirectoryIndex index.php
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...