Конфигурация Cakephp всего файла htaccess

#php #apache #.htaccess #cakephp-2.0

#php #apache #.htaccess #cakephp-2.0

Вопрос:

У меня есть php-приложение cake в «http://sakibshamim.com/DhakaGate /» каталог. Но он показывает ошибку 404 с «Запрошенный URL / app / webroot / не был найден на этом сервере».

Я настроил файл 3 .htaccess в папке «DhakaGate», папке «DhakaGate / app» и папке «DhakaGate / app / webroot».

 <IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app/
RewriteRule    ^$    webroot/    [L]
RewriteRule    (.*) webroot/$1    [L]
</IfModule>


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
  

Кто-нибудь может помочь мне решить проблему, пожалуйста?

Ответ №1:

Следуйте инструкциям книги по загрузке mod_rewrite —

http://book.cakephp.org/2.0/en/installation/url-rewriting.html

или

http://book.cakephp.org/3.0/en/installation/url-rewriting.html

в зависимости от того, какую версию вы используете

Ответ №2:

Вы должны изменить свои файлы .htaccess следующим образом

  <IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule    ^$ app/webroot/    [L]
  RewriteRule    (.*) app/webroot/$1 [L]
 </IfModule>

 <IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule    ^$    webroot/    [L]
  RewriteRule    (.*) webroot/$1    [L]
 </IfModule>

 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
 </IfModule>
  

Комментарии:

1. Я попробовал это. Без перезаписи базы 500 отображается ошибка внутреннего сервера.

2. ДА. Есть ли что-нибудь, что я должен сделать?