в обход файла index.php - PullRequest
       22

в обход файла index.php

3 голосов
/ 25 июня 2011

У меня крошечная проблема.

В настоящее время я работаю над добавлением сайта к работающему сайту. сейчас текущий веб-сайт написан в произвольной структуре, которую я не смог распознать, и поскольку это довольно обширное дополнение, я делаю это с нуля, используя CodeIgniter.

Теперь я добавил свои файлы на сервер под ведущим именем файла «business.php». вызов моей страницы хорошо работает с «www.mysite.com/business.php», но когда я пытаюсь вызвать контроллер с помощью вызова CI, например «www.site.co/business.php/myController», я получаю ошибку, вызванную сначала по умолчанию сервер обращается к файлу index.php, и у него есть другой способ обработки URI.

Может кто-нибудь сказать, что я могу сделать, чтобы обойти исходный файл?

tnx за время и помощь.

Ответы [ 3 ]

5 голосов
/ 25 июня 2011

Создайте файл .htaccess в корневом каталоге вашего проекта и вставьте его ...

DirectoryIndex index.php
RewriteEngine On
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Далее перейдите в «config / config.php»

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';

изменить это на

$config['index_page'] = '';

Вот и все ...

Ваш URL:

http://www.stackoverflow.com/index.php/my_controller/my_function/param1/param2

становится

http://www.stackoverflow.com/my_controller/my_function/param1/param2

Надеюсь, это поможет !!

1 голос
/ 25 июня 2011

Если вам не нужна страница index.php, проще всего ее удалить.

Следующая опция - установить домашнюю / целевую страницу по умолчанию через ваш файл .htaccess. Используя этот файл, вы можете установить на домашней странице все, что захотите.

Код будет выглядеть примерно так DirectoryIndex index.php index.html site-down.php

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

0 голосов
/ 27 июня 2011

ки! :) после долгого исследования я нашел ответ.

я переместил файл business.php в отдельную папку вместе с папками System и Application. После этого я создал второй файл .htaccess с приведенным выше кодом и поместил его в та же подпапка.

и, наконец, вместо того, чтобы звонить на «mysite.com/business.php/myController», мне нужно позвонить на «site.com/business/business/php/myController'

».

таким образом ОБА сайты работают отлично!

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

Большое спасибо всем за ваши попытки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...