2010-12-08 2 views
5

Я абсолютно смущен тем, что должен сделать, чтобы запустить мой образец в CakePHP ...Как настроить .htaccess файлы CakePHP в WampServer?

Я использую WAMP Server, и он находится в «C:/program files/wamp /», и я использую другой раздел для моих проектов: «E:/Projects /».

есть папка для обучения CakePHP: «E:/Проекты/cakephp/». Я положил все CakePHP извлекается содержимое в этой папке (состоят из: index.php, .htaccess, readme.txt и папок: приложение, торт, плагины, продавцы) ...

Во-первых, я установил алиас (тест) в Apache, который указал на «E:/Проекты/CakePHP/», и это не сработало (сообщение: к сожалению, данная ссылка не сработает.)

После некоторого поиска я обнаружил, что должен установить псевдоним в другую папку: «E:/Projects/cakephp/app/webroot/», и он отлично работал и показал мне первая страница CakePHP Framework.

Я решил все проблемы на первой странице (с использованием руководства CakePHP). Я попытался следовать учебному блогу CakePHP ... Я создал модель, элемент управления и страницу просмотра (все связанные с темой «posts»), но когда я пытаюсь увидеть результат, я только что получил первую страницу сервера WAMP (показывая что есть какая-то проблема в адресе)

Я использовал адрес: «http://localhost/test/posts/index» (который не работал) тогда, я пытался поставить index.php в URL: «http://localhost/test/index.php/posts/index» и это сработало!

.htaccess файлы, когда я пытаюсь достичь корня «http://localhost/test/« Работайте идеально, я не знаю, что случилось!

xx Я нашел тот же вопрос в StackOverflow, here. Все его настройки похожи на мои, но, похоже, он установил псевдоним корня CakePHP, и это не сработало для меня!

и на самом деле я не мог найти, как я могу использовать решение (link), которое помогло ему, потому что я думаю, что это немного отличается в моем случае!

Мои файлы HTAccess для следующих CakePHP папки являются следующие,

корень CakePHP

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

/приложение

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

/приложение/Webroot

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

Я надеюсь, что кто-то может мне помочь, я действительно измучен ...

Заранее благодарим за ваше время и ваши решения!

--------------------------------------------- ----------------------------------

Yoohoooo! Я нашел ответ! Я внес много изменений во все файлы htaccess! Если у вас тоже есть эта проблема, сначала удалите все ваши изменения, а затем используйте это link в качестве отличной помощи! Надеюсь, что это тоже поможет! CHEEEEERS! МНОГИЕ ЧИТАТЕЛИ !! : D

ответ

14
  1. правой кнопкой мыши на иконку WAMP на вашем панели задач
  2. Затем наведите указатель мыши на модули Apache
  3. прокрутки вниз и убедитесь, что rewrite_module помечена
+0

Я проверил, у него есть галочка! – Monica 2010-12-08 04:13:00

+0

Отлично, он работает. Спасибо SiGanteng. – 2014-04-29 07:08:06

+0

это тоже работает для меня спасибо siGanteng! – deadman 2014-09-16 12:03:11

2

я фактически получил то же самое как вы, но я не помню, как я это решил.

Что я могу заверить, что это не проблема .htaccess, а ошибка конфигурации Apache.

I думаю часть я модифицировано был этот.

<Directory /> 
    #Options +Indexes 
    Options FollowSymLinks 
    AllowOverride All 
    #Order deny,allow 
    #Deny from all 
</Directory> 

Обратите внимание, что я прокомментировал некоторые строки. Хотя я не могу подтвердить это, так как у меня нет файла конфигурации по умолчанию.

1

использование

RewriteRule ^posts/(.*) index.php/posts/index 
2

У меня был такой же вопрос и вот решение, которое работает для меня

это в WAMP сервер мой cakephp.conf

Alias /cakephp "d:/wamp/apps/cakephp/app/webroot" 

<Directory "d:/wamp/apps/cakephp/app/webroot"> 
    Options FollowSymLinks 
    AllowOverride all 
    Require local 
</Directory> 

Это .htaccess файл в/CakePHP (ничего не изменил)

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

</IfModule> 

Это .htaccess файл в/CakePHP/приложение (не изменилось ничего)

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

</IfModule> 

Это .htaccess файл в/CakePHP/приложение/Webroot (изменено)

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

Я добавил линии это линия

RewriteBase /cakephp 

После этого я был в состоянии запустить URL-адрес Localhost/CakePHP/index.php/сообщений/индекс

Надеюсь, это поможет вам приступить к работе с CakePhp с использованием сервера WAMP