Codeigniter 2.0 Дружественные URL URL не работают на Mac OS X Snow Leopard
-
03-10-2019 - |
Вопрос
По какой-то причине в 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.
Удачи