CodeIgniter / MAMP Pro: отображение параметра URI в контроллер по умолчанию - PullRequest
0 голосов
/ 27 мая 2011

У меня проблема с тем, чтобы заставить работать мои правила перезаписи. Вот что я получаю:

mysite: 8888 / - работает, но выдает ошибки отсутствующих аргументов (ожидается)
mysite: 8888 / myvar - ошибка 404
mysite: 8888 / index.php / test / index / myvar - работает и отображает myvar на странице (ожидается)
mysite: 8888 / test / index / myvar - ошибка 404 mysite: 8888 / test / myvar - ошибка 404

Мой файл rout.php содержит только:

$route['default_controller'] = "test";

config.php:

$config['base_url'] = 'http://mysite:8888/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['url_suffix'] = '';

test.php (контроллер):

public function index($myVar){
  $data['myVar'] = $myVar;
  $this->load->view('test', $myVar);
}

test.php (просмотр):

<h1>Test page</h1>
<p>Here's your variable: <?=$myVar?>.</p>

и вот мой файл .htaccess (даже не уверен, что он мне нужен):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Цель этого URL: mysite: 8888 / hello

Создайте это: «Вот ваша переменная: привет.»

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Ну, я понял это. Оказывается, у меня все настроено правильно, но заголовки файлов в моем файле .htaccess сообщали моему Mac, что это документ в формате RTF. Я вытащил рабочий файл .htaccess с моего веб-сервера, вставил в него правила перезаписи и получил бинго! Это начало работать. Спасибо всем за предложение.

0 голосов
/ 28 мая 2011

У меня были некоторые проблемы с перезаписью на моем Mac, хитрость была в том, чтобы добавить

Опции + FollowSymlinks

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

...