2017-02-09 8 views
0

Когда я пытаюсь ударить по моему сайту, который находится в mydomain.com/subfolder, я получаю 404 (из Apache).Получение ошибки 404 при просмотре приложения CakePHP 3 на 1and1

/subfolder/.htaccess

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

/subfolder/webroot/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Чтобы подтвердить, что mod_rewrite работы, я добавил это в /subfolder/.htaccess файл, который оперативно перенаправлены:

Redirect 301/http://other-domain-owned.com/ 

Так, .htaccess живут и mod_rewrite работ.

В моей среде разработки я смог заставить сайт работать в том же /subfolder, с помощью symply enable .htaccess файлов для этой папки с помощью директивы Directory.

Некоторые учебники говорят добавить RewriteBase /, но это не помогло.

ответ

1

Вместо RewriteBase вы также можете использовать абсолютный путь. Кроме того, первые два правила могут быть упрощены до одного

RewritRule ^(.*)$ /subfolder/webroot/$1 [L] 

Похожие вторая часть

RewriteRule^/subfolder/webroot/index.php [L] 

Наконец, Redirect и RewriteRule из разных модулей. Итак, если одна из директив работает, это не является доказательством для другого, кто работает тоже.

+0

Это работает. Благодаря! – TekiusFanatikus