简体   繁体   中英

Codeigniter url/links with mode rewrite htacess: object not found

I am working on project using codeigniter for the first time with bootstrap 3.

My application and system folder from CI is located outside my 'project.main' folder. Everything works fine until I try to use .htaccess in my project.

I am using an XAMPP server and I already loaded the rewrite module and as well as the AllowOverride All and restarted my server.
My url now looks like this ' http://localhost/project.main/ ' ..
Now my question is since I already removed the 'index.php', my navbar links in bootstrap was like this
' <a href='<?php echo site_url("pages/view/about"); ?> <a href='<?php echo site_url("pages/view/about"); ?>
but if I click it I am directed to the url
' http://localhost/project.main/pages/view/about ' which gives me

Object not found' error page.

But if I use href=' <?php echo site_url("index.php/pages/view/about"); ?> href=' <?php echo site_url("index.php/pages/view/about"); ?> I am routed to the right page. Which is the right way of doing it? and under my config.php I have this $config['uri_protocol'] = 'REQUEST_URI '; is it necessary that uri_protocol match what is on the .htaccess under RewriteCond %(REQUEST_URI).. ?
What i read in github there are two versions of .htaccess.

You didnt mention changing index page to blank inside config.php ? In case of emergency I give you my simple htaccess. It works when moving application and system folders out of public.

RewriteEngine On

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

Also try to switch uri_protocol option.

Here's the ultimate solution for index.php How to remove "index.php" in codeigniter's path .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM