Codeigniter 2.0 Дружественные URL URL не работают на Mac OS X Snow Leopard

StackOverflow https://stackoverflow.com/questions/3738881

Вопрос

По какой-то причине в CI 2.0 URL-адреса не работают.

http://localhost/myapp/ - will open the default controller (bc it finds index.php)
http://localhost/myapp/index.php/home/ - will open the default controller 
http://localhost/myapp/home/ - will show path not found

Я не уверен, что это проблема с 2.0 или конкретной проблемой с моей конфигурацией.

Я работаю Apache 2 на Mac OS X Snow Leopard.

Я искал решение .htaccess, но не смог найти для CI 2.0.

Это было полезно?

Решение 2

Настоящая проблема заключалась в том, что в Snow Leopard конфигурация фактического каталога обычно расположена в / private/etc/apache2/httpd.conf, теперь находится в / private/etc/apache2/users/[username].conf по умолчанию FLOLSYMLinks и RutoVerride отключены Там, так что вы должны пойти и исправить его вручную, даже если он включен в обычном httpd.conf

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

Другие советы

У вас есть правило перезаписи в Apache, чтобы обрабатывать такое Codeigniter? видеть: http://codeigniter.com/wiki/mod_rewrite/

  • Первый по умолчанию будет работать (по умолчанию index.php)
  • секунды будут работать, потому что вы передаете его на index.php
  • Третий не без правила перезаписи.

.htaccess Решения для Codeigniter 1.7 также будут работать для Codeigniter 2.0. .htaccess Используется для настройки веб-сервера Apache, который не зависит от Codeigniter.

(Предложенная конфигурация из Руководство по кодонированию поэтому следует работать нормально.)

$ sudo sudo chgrp staff /Library/WebServer/Documents/
$ sudo chmod 775 /Library/WebServer/Documents/

После этого все мое приложение будет под папкой / библиотекой / веб-сервером / документами /

Как «тестирование»

/ Библиотека / веб-сервер / Документы / Тестирование

$ echo "Hello World" >> /Library/WebServer/Documents/testing/index.php
http://localhost/testing 
==> it should appear Hello World

Теперь под папкой / библиотекой / веб-сервером / документами / «вы поместите папку CI, вам придется добавить

.htaccess 

RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?$1 [L]
AddHandler php5-script .php

На вашем ci_folder / приложение / config.php

$config['index_page'] = '';

И я думаю, что это все! Наслаждаться!

Вы можете найти это здесьОтказ Это ниже «удаление заголовка файла index.php.

Снятие файла index.php

По умолчанию файл index.php будет включен в ваши URL-адреса:

example.com/index.php/news/article/my_article Вы можете легко удалить этот файл, используя файл .htaccess с некоторыми простыми правилами. Вот пример такого файла, используя «отрицательный» метод, в котором все перенаправлено, кроме указанных элементов:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

В приведенном выше примере любой HTTP-запрос, отличный от теми для index.php, изображений и Robots.txt, рассматривается как запрос на ваш файл index.php.

Лучший способ установить XAMPP, работа со мной.

Просто остановите локальный Apache и поместите свое приложение в HTDOCS (XAMPP).

Вы увидите, что ваше приложение подчиняется дружелюбному URL.

Удачи

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top