60

I am running apache2 on Debian etch, with multiple virtual hosts.

I want to redirect so that http://git.example.com goes to http://git.example.com/git/

Should be really simple, but Google isn't quite cutting it. I've tried the Redirect and Rewrite stuff and they don't quite seem to do what I want ...

  • There are many ways you could approach this, but what is exactly what you are trying to accomplish? – WerkkreW May 19 '09 at 17:24
107

Feel a bit silly - a bit more googling turned up the answer I was after:

RedirectMatch ^/$ /git/

Basically redirecting the root, and only the root.

This code could do in a .htaccess file (there is a tag for this, so I assume that is the original use case). But if you can edit ,the main server apache config then put it in the section for your website probably inside a <VirtualHost> section.

The docs for RedirectMatch say that the context can be "server config, virtual host, directory, .htaccess".

  • 2
    ok, so where to put this line of code? – user230910 Jan 10 '17 at 5:41
  • I had to put a full URI (https://example.com/git/) for this to work. Strange. – Mat M Sep 22 '17 at 14:09
3

You've got the correct answer there with the redirect. You have to be careful when redirecting everything to somewhere else, since you can get recursive redirects there. This happens if you want to put up a maintenance page.

  • 4
    Indeed. Redirect / /git/ results in recursive fireworks. – Davor Josipovic May 9 '15 at 20:51
3

You can use Redirect directive.

<Directory />
   Redirect permanent / http://git.example.com/git/
   ...
</Directory>
0

The accepted answer resolved my issue, but I also found that I had to add a 404 redirect for non-existant pages -- my situation is that have an OwnCloud installation located one level below root (https://example.com/owncloud).

This worked for me, to send everything to my subdirectory:

# redirect from root to subdirectory
RedirectMatch ^/$ /thesubdirectory/

# redirect on 404 to subdirectory
ErrorDocument 404 /thesubdirectory/index.php
  • 1
    ErrorDocument should return an error page, not a useful document. This is important for crawlers. – Jonah Benton Sep 11 '16 at 22:01

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.