JEWEL AHMMED
JEWEL AHMMED

Reputation: 125

CodeIgniter URL suffix .html automatically for all URL

I am new in CodeIgniter. I setup CI in my localhost Eg. localhost/MyProjects/CodeIgniter/welcome/index

I can able to remove the index.php from the url & I also completed the .html suffix So, I can able to visit localhost/MyProjects/CodeIgniter/welcome/index.html & Its working properly.

So I am using my a tag like this:

<a href="<?php echo base_url(); ?>welcome/register.html">Register</a>

But, I dont want to use the .html in my link manually.

have any solution to show my visitor .html suffix automatically Eg. localhost/MyProjects/CodeIgniter/welcome/index.html Or localhost/MyProjects/CodeIgniter/welcome/about.html Etc

Here is my htaccess http://pastebin.com/cXUFjvbp

Upvotes: 2

Views: 10517

Answers (3)

W Kristianto
W Kristianto

Reputation: 9303

Just edit url_suffix in config.php .....

$config['url_suffix'] = '.html';

Use site_url()

<!-- No need .html -->
<a href="<?php echo site_url('welcome/register'); ?>">Register</a>
<!-- <a href="http://domain/welcome/register.html">Register</a> -->

Or anchor()

// No need .html
echo anchor('welcome/register', 'Register');
// <a href="http://domain/welcome/register.html">Register</a>

Note : Dont forget to load URL helper with $this->load->helper('url');.

Upvotes: 6

Mandeep Singh
Mandeep Singh

Reputation: 121

Change your config.php file

$config['url_suffix'] = '.html';

Upvotes: 5

Ryan
Ryan

Reputation: 14649

Just redefine the base_url function or make a new one. Look at the source of base_url method

function _base_url($path = NULL) {
  return base_url() . $path . '.html';
}

Upvotes: 1

Related Questions