This is the url
http://rapidsurfing.net/visio/xip8yT
My site is developed in codeigniter. So when link this above url I want to go to one controller function. How can I do this using htaccess.
This is my httaccces code
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^p\/(.*)$ page.php?q=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?admin/index/url=$1 [QSA,L]
</IfModule>
The url
have value xip8yT
.The admin
is the controller name and index
is the function in that controller.
But when I paste the url http://rapidsurfing.net/visio/xip8yT
in address bar it load 404 not found error.
What is the problem or mistake in my code?
My default controller is admin.
First make sure you set up your default controller in routes.php
file. A complete answer to your question is the way that I worked with CI. CodeIginter itself recommend to use a .htaccess
for redirecting all of requests to your index page and your default controller and it's what you did. But I recommend to use this piece of code:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /yourbasefoldername
### Canonicalize codeigniter URLs
# If your default controller is something other than
# "welcome" you should probably change this
RewriteRule ^(yourdefaultcontrollername(/index)?|index(\.php)?)/?$ / [L,R=301]
RewriteRule ^(.*)/index/?$ $1 [L,R=301]
# Removes trailing slashes (prevents SEO duplicate content issues)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]
# Enforce www
# If you have subdomains, you can add them to
# the list using the "|" (OR) regex operator
# RewriteCond %{HTTP_HOST} !^(www|subdomain) [NC]
# RewriteRule ^(.*)$ http://localhost/dfgamez/$1 [L,R=301]
# Enforce NO www
# RewriteCond %{HTTP_HOST} ^www [NC]
# RewriteRule ^(.*)$ http://localhost/dfgamez/$1 [L,R=301]
###
# Removes access to the system folder by users.
# Additionally this will allow you to create a System.php controller,
# previously this would not have been possible.
# 'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
# Checks to see if the user is attempting to access a valid file,
# such as an image or css document, if this isn't true it sends the
# request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php
</IfModule>
Simply you'll get every slashes after the site address to your index
function parameters.
Peace Out!