удалить index.php из URL-адреса cakephp - PullRequest
3 голосов
/ 15 июля 2009

как удалить index.php из url cakephp? Чтобы получить доступ к моей папке с формами, я должен дать URL: http://localhost/cake_1_2/index.php/forms.

как мне удалить этот index.php?

Я удалил .htaccess из папок, как указано в core.php, и раскомментировал строку App.baseUrl. Тем не менее, я не могу просмотреть страницу без index.php в URL.

Ответы [ 6 ]

2 голосов
/ 15 июля 2009

Если вы используете CakePHP с включенным mod_rewrite (чтобы получить красивые URL), вы можете создавать новые папки в пределах WEBROOT и обращаться к файлам просто отлично.

Пример:

Site/webroot/forms/form.php = http://www.sitename.com/forms/form.php

CakePHP mod_rewrite настроен для проверки существующих файлов в WEBROOT и НЕ и передает их в index.php.

Если вам нужно получить доступ к папке вне webroot, вы можете поиграть с символическими ссылками.

1 голос
/ 15 ноября 2011

У меня была та же проблема, и в URL был index.php. Вы редактируете неправильную область в httpd.conf. Также убедитесь, что ваши файлы .htaccess существуют в: /.htaccess, /app/.htaccess и /app/webroot/.htaccess

Ваш httpd.conf должен выглядеть примерно так:

# Leave this area alone, CakePHP docs are wrong
<Directory /> 
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>

# Match this area
<Directory "/SomePath/app/webroot"> 
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All   # Turn AllowOverride All on here
  Order allow,deny
  Allow from all
</Directory>

После этого я могу легко создавать маршруты и получать доступ к таким страницам, как: http://localhost/about/

Наслаждайтесь!

1 голос
/ 16 апреля 2011

Просто выполните следующие шаги, чтобы убедиться, что он есть или нет

  1. Проверьте, есть ли у вас root, app, webroot содержит актуальный файл .htaccess.

  2. Сервер apachee имеет следующую конфигурацию:

    <Directory /> 
     Options FollowSymLinks   
     AllowOverride All#   
     Order deny,allow#   
     Deny from all
    </Directory>
    
  3. Также эта строка не прокомментирована:

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so
    

Затем перезапустите apache, чтобы увидеть изменения

1 голос
/ 15 июля 2009

Проверьте CakePHP Руководство по установке раздел для mod_rewrite. После включения в Apache красивые URL будут работать. Если вы не используете Apache, вы застряли с ужасными URL.

0 голосов
/ 28 августа 2016

Итак, все должно быть в порядке? У вас уже есть mod_rewrite?

Если mod_rewrite загружен правильно, файлы .htaccess на месте и index.php по-прежнему отображается в ссылках, то, скорее всего, это проблема с файлом конфигурации core.php.

Причина проблемы

В моем случае это была проблема с параметром конфигурации App.baseUrl:

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

Решение проблемы

Вот как я исправил эту проблему (и несколько других с перенаправлениями), закомментировав следующую строку из core.php:

// Configure::write('App.baseUrl', env('SCRIPT_NAME'));

или торт 3+ в config / app.php

//'baseUrl' => env('SCRIPT_NAME') 
0 голосов
/ 15 июля 2009

Вы также можете проверить этот учебник по переписыванию модов здесь . он имеет общую информацию, которая будет полезна для очистки URL во многих ситуациях. Есть также примеры включены.

...