2015-02-04 5 views
1

Я работаю с codeigniter, но я не знаю, как поместить ссылку на другую страницу. Мое имя файла контроллера - aboutus.php. Я дал ссылку какCodeigniter url установлен на другую страницу

<a href="<?php echo base_url('aboutus'); ?>">AboutUs</a> 

Мой базовый URL является

$config['base_url'] = "http://localhost/project/"; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'AUTO'; 

Но выше URL не работает. Я пишу url непосредственно в браузере и нажимаю как http://localhost/project/index.php/aboutus, тогда его рабочий штраф. как дать URL-адрес? я запутался.

ответ

1

base_url() отзовется:

http://localhost/project 

где, как site_url() отзовется:

http://localhost/project/index.php 

Вы хотите, чтобы добраться до http://localhost/project/index.php/aboutus, но с base_url() вы получаете только http://localhost/project/aboutus, который дает вам ошибку ,

Вы можете сделать две вещи,

это:

<a href="<?php echo base_url('index.php/aboutus'); ?>">AboutUs</a> 

что означает, добавив index.php перед тем aboutus

или это:

<a href="<?php echo site_url('aboutus'); ?>">AboutUs</a> 

, что означает изменение base_url() к site_url() ,

Убедитесь, что вы загружаете помощника в контроллере:

$this->load->helper(url); 

Или в application/config/autoload.php идти к линии, которая говорит:

$autoload['helper'] = array(); 

и сделать это:

$autoload['helper'] = array('url'); 

, и он будет включен в каждый контроллер, который у вас есть.

Если вы включили короткие теги вы можете написать a тег так:

<a href="<?=site_url('aboutus');?>">About Us</a> 

или если у вас есть url помощника вы можете написать это:

echo anchor('aboutus', 'About Us', 'title="About Us"'); 
+0

как избежать index.php в url? – udhaya

+0

@udhaya http://stackoverflow.com/questions/9608366/remove-index-php-from-url-with-htaccess – Albzi

0

Перед использованием функции CI base_url() и SITE_URL() вам нужно загрузить URL helper либо в autoload.php или в самом контроллере.

0

Если короткие теги включен в PHP вы также можете написать это ссылка, что:

<a href="<?= site_url('controller_name/function_name') ?>">Link Text</a> 
0

Используйте этот .htaccess на базовой папке

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

Если вы все еще не получить результат Пожалуйста, включите mod_rewrite на вашем сервере apache

0

Ваш URL-адрес проекта выглядит так, будто вы не включили короткие теги php. Это не проблема. просто попробуйте этот код:

<a href="<?= site_url('index.php/project/aboutus') ?>">About Us</a> 
Смежные вопросы