Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.htaccess single variable url rewrite

I am trying to redirect http://test.pearlsquirrel.com/explore_all?u=hiphop to http://test.pearlsquirrel.com/explore_all/hiphop using htaccess. However, It keeps redirecting here: http://test.pearlsquirrel.com/explore_all/?u=site_error.php. I have looked all over Stackoverflow for the answer but I just can't seem to find it. I would really appreciate some help in fixing this problem, thanks!

Here is my .htaccess file

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.pearlsquirrel.com$ [NC]
RewriteRule ^(.*)$ http://pearlsquirrel.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php

RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+) explore_all?u=$1 [L]
like image 990
Eggo Avatar asked Mar 01 '26 03:03

Eggo


1 Answers

You may try this:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING}  [^=]+=([^=]+)
RewriteRule .* /%1? [L]

Will map this:

http://test.pearlsquirrel.com/explore_all?u=hiphop

To this:

http://test.pearlsquirrel.com/explore_all/hiphop

Replace the corresponding code in your .htaccess file with this one.

I have not checked the rules in your .htaccess file.

OPTION

Now, if it is the other way around, which I think it is, and the idea is to map this incoming URL:

http://test.pearlsquirrel.com/explore_all/hiphop

To this resource:

http://test.pearlsquirrel.com/explore_all?u=hiphop

Replace the above rule set with this one:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  .*/([^/]+)/?
RewriteRule .* http://test.pearlsquirrel.com/explore_all?u=%1 [L] 
like image 194
Felipe Alameda A Avatar answered Mar 03 '26 19:03

Felipe Alameda A