Reputation: 1728
Im developing a php frame work and I am new to .htaccess rules. So I need to redirect url using .htaccess. Url is
http://localhost/rinocabs/index.php?/Galary/Image/
should be converted to this
http://localhost/rinocabs/Galary/Image/
in .htaccess file I include these rules
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^localhost/rinocabs/index.php?/Galary/Image/ [nc]
rewriterule ^(.*)$ http://localhost/rinocabs/Galary/Image/$1 [r=301,nc]
but its not working. Please Help.
Upvotes: 0
Views: 7143
Reputation: 1
Please try the following code. It's working properly.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Upvotes: 0
Reputation: 231
Please try below code :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Upvotes: 0
Reputation: 2597
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
use this
localhost/rinocabs/index.php/Galary/Image/
instead of
localhost/rinocabs/index.php?/Galary/Image/
Upvotes: 4
Reputation: 3251
When in doubt, go the Codeigniter route!
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Basically there is no reason to include what's going to be the domain portion of your url in the rewrite rule and condition, and your condition is looking funky. Looking at the codeigniter example above, all we need to do in our expression is: find the index.php segment in the path, and get rid of it, and rewrite to include it. Your expression assumes the path will always be the same...if that makes sense.
Upvotes: 0