Проблема с доступом к сайту CakePHP - PullRequest
0 голосов
/ 17 октября 2011

Я использую CakePHP 1.3 на моем LAMP Environment для одного из моих проектов, и что меня неожиданно потрясло в связи с проблемой пути к моему веб-сайту для URL:

Это происходит так:

http://localhost/project/app/webroot/index.php/mydocuments/

В то время как до сих пор все шло как:

http://localhost/project/mydocuments/

Но я действительно не знаю, какие настройки были изменены, чтобы вызвать эту проблему.

У меня есть 3 файла .htaccess по умолчанию, которые CakePHP предоставляет, например, структура моей папки: один файл htaccess находится в корневой папке (вне папки приложения), один файл htaccess в папке приложения и еще один в папке app / webroot, пока вы описано здесь, но все же его путь является проблемой ..

Ответы [ 2 ]

3 голосов
/ 17 октября 2011

Я предполагаю, что вы используете Apache, и ваш Apache docroot указывает на вашу папку app / webroot.

Вам нужен файл .htaccess в директории webroot, чтобы эта работа работала на Apache.

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

Если ваш Apache docroot является корнем вашего приложения (не рекомендуется), вам нужен еще один файл .htaccess, такой как этот, в корне вашего приложения:

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

Надеюсь, это поможет!

1 голос
/ 17 октября 2011

Я второй, что говорит wrdevos. Кроме того, также убедитесь, что в директиве Directory вашего documentroot (в вашей конфигурации Apache) для параметра AllowOverride установлено значение All, например:

<Directory "/var/www/html">
    AllowOverride All
    # Other options should follow...
</Directory>

В большинстве систем по умолчанию используется AllowOverride None, что вообще не разрешает запускать файлы .htaccess.

...