Alex Scherer
Alex Scherer

Reputation: 11

apache .htaccess redirect - clean url

I am working on a php redirect script which 302 redirects visitors to other sites when they access a redirect url..

The script gets a variable (id) from the url and then redirects the visitor to the specific page.

The url structure is : example.com/redirect/index.php?id=test

At the moment all redirects work if I use "ugly" urls, but I want to strip all unnessecary information out of the url with .htaccess rewrites for better usability.

Which .htaccess rewrite rules do I need to make the above shown urls look like : example.com/redirect/test

I am currently using the following .htaccess rules

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>

but they only work for urls like example.com/redirect/index.php?id=test if I try example.com/redirect/test I get a 404 error page.

It might be good to know, that I have 2 .htaccess files, one in my root directory and one in the root/redirects/ directory.

Best regards !

Upvotes: 1

Views: 590

Answers (1)

Venkatesh K
Venkatesh K

Reputation: 4594

Try this:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)?/?([^/]+)?/?([^/]+)?/?   [NC]

Upvotes: 0

Related Questions