500 внутренняя ошибка сервера из-за htaccess - PullRequest
0 голосов
/ 29 сентября 2018

я пытаюсь использовать файл .htaccess в моем проекте, но когда я добавляю свой htaccess, он дает мне 500 внутренних ошибок сервера, это мой файл htaccess

RewriteEngine On
RewriteRule ^abc?$ index.php
RewriteRule ^index/2/([a-z0-9]+) index.php?folder=aboutus&file=$1
RewriteRule ^index/3/([a-z0-9]+) 
index.php?folder=blog&file=$1
RewriteRule ^index/4/([a-z0-9]+) index.php?folder=contactus&file=$1
RewriteRule ^index/5/([a-z0-9]+) index.php?folder=courses&file=$1
RewriteRule ^index/6/([a-z0-9]+) index.php?folder=gallery&file=$1
RewriteRule ^index/7/([a-z0-9]+)
index.php?folder=home&file=$1
RewriteRule ^index/8/([a-z0-9]+) index.php?folder=courses&file=$1
RewriteRule ^index/9/([a-z0-9]+) index.php?folder=login&file=$1

1 Ответ

0 голосов
/ 29 сентября 2018
RewriteRule ^index/3/([a-z0-9]+) 
index.php?folder=blog&file=$1

Если ваш файл действительно отформатирован следующим образом, т.е.разделение директив на две строки, тогда это, безусловно, приведет к внутренней серверной ошибке 500, поскольку она синтаксически недействительна.

Когда вы получаете ошибку 500, вам необходимо проверить журнал ошибок вашего сервера на предмет спецификиошибка.В случае вышеизложенного вы получите что-то вроде: RewriteRule: bad argument line.

Выше должно быть отформатировано, как и все ваши другие директивы, в одну строку:

RewriteRule ^index/3/([a-z0-9]+) index.php?folder=blog&file=$1

В сторону: Так как вы переписываете URL, который просто пропускает расширение файла (т. Е. .php), которое в противном случае напрямую связывалось бы с файлом файловой системы, тогда вы должны убедиться, что MultiViews отключен, иначе выможет получить неожиданные конфликты.Другими словами, добавьте следующую директиву в начало вашего .htaccess файла:

Options -MultiViews
...