user391986
user391986

Reputation: 30896

add alias in front of each URL mod_rewrite apache

If any likes come in the format

http://localhost/index.php/bla...

I want to convert it to http://localhost/er/index.php/bla...

I'm trying the following but it seems to be looping the url indefinitely

RewriteRule  ^localhost/index/php/(.*)$  localhost/er/index.php/$1  [R=301,L]
RedirectMatch  301  ^/localhost/index.php/(.*)$  localhost/er/index.php/$1

Upvotes: 0

Views: 146

Answers (1)

Jon Lin
Jon Lin

Reputation: 143886

You've got 2 different things going on, a RewriteRule (mod_rewrite) and a RedirectMatch (mod_alias). You'll only need one, but neither of those can match against the hostname (localhost). If this has to only be limited to the "localhost" host, then you need to do this:

RewriteEngine On
RewriteCond %{HTTP_HOST} localhost$ [NC]
RewriteRule ^/?index\.php/(.*)$ /er/index.php/$1 [R=301,L]

Otherwise, you can just stick with mod_alias:

Redirect 301 /index.php/ /er/index.php/

Everything after /index.php/ will automatically get appended.

Upvotes: 1

Related Questions