#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. ДА. Есть ли что-нибудь, что я должен сделать?