Внутренняя ошибка сервера 500 в Code Igniter, работающем на centos в Google Cloud - PullRequest
1 голос
/ 13 июня 2019

У меня запущено веб-приложение на основе CI, которое отлично работает на старом сервере, но я переношу его в экземпляр centos 7 / cwp в облаке Google.

После того, как я настроил его, как обычно настраиваю CI, я получаю HTTP 500 и внутренние ошибки сервера.

Я подозреваю, что это связано с .htacess, но я не могу понять, чтонеправильно.Любая помощь приветствуется!

Это работает CWP на centos 7 на облачном экземпляре Google.Что я сделал:

  1. включен mod_rewrite
  2. установлен php-mysqli
  3. отредактирован php.ini для расширений mysql и mysqli
  4. сделал новый.htaccess
  5. не может видеть никаких ошибок в журналах apache

Ниже приведен мой текущий файл .htaccess со старого сервера:

# 301 Redirect URLs.
Redirect 301 /www.example.com/example/about-us https://www.example.com/home/pages/about-us

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
//RewriteRule . index.php
RewriteCond %{HTTPS} off
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9] {32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

<Files 403.shtml>
order allow,deny
allow from all
</Files>

RewriteCond %{HTTP_HOST} ^\*\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.\*\.example\.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]

RewriteCond %{HTTP_HOST} ^example.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]

Когда я использовал вышеупомянутый .htaccess (со старыми // modrewrites cpanel, я получаю сообщение об ошибке внутреннего сервера), когда я удаляю .htaccess или заменяю .htaccess другим или стандартным CI .htaccess, я просто получаю ошибку HTTP 500.

1 Ответ

0 голосов
/ 13 июня 2019

со // старыми crewel modrewrites, я получаю сообщение об ошибке внутреннего сервера

Вы не можете использовать //, чтобы закомментировать строки конфигурации в .htaccess - это, безусловно, объясняетваша немедленная ошибка 500.Вам нужно использовать #, как показано в первой строке вашего конфигурационного файла.

//RewriteRule . index.php

Вы не должны комментировать эту строку - без этого CI не будетвозможность маршрутизировать ваши URL.

когда я удаляю .htaccess или заменяю .htaccess другим или стандартным CI .htaccess, я просто получаю ошибку HTTP 500.

Вполне возможно, что это другой вопрос, поэтому нам нужно увидеть точный файл .htaccess, который вы используете.

Кстати, «внутренняя ошибка сервера» и «ошибка HTTP 500» - одно и то же - кажетсяподразумевать, что они разные?

Как отмечено в комментариях, вы должны проверить журнал ошибок вашего сервера на предмет специфики этой ошибки.

RewriteCond %{HTTP_HOST} ^\*\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.\*\.example\.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]

Что этодолжен делать?(Он ничего не делает в своем текущем состоянии.)

RewriteCond %{HTTP_HOST} ^example.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]

Это только канонизирует запросы для корня документа.Это не будет ничего делать для любых других URL.Тем не менее, он также находится в неправильном месте в файле конфигурации и, вероятно, ничего не делает в любом случае.Он должен идти вверху файла, перед фронт-контроллером CI.

...