Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redirect 301 in .htaccess causes 500 server error (Redirect to non-URL)

have such kind of error.

When adding Redirect 301 rule to .htaccess file like:

Redirect 301 "/page1.html" "/dir1/"

My site fails with 500 server error and in apache error log this error appears:

[Wed Mar 16 11:08:52 2011] [alert] [client 127.0.0.1] /home/htdocs/site.com/www/.htaccess: Redirect to non-URL

Mod rewrite is installed, also tried to provide urls without quotes.

On production server this .htaccess works fine, but on local causes troubles

Any ideas, please)


This rule works

Redirect 301 "/page1.html" "http://www.site.com/dir1/"

but I need a way to supply relative paths instead of full urls (production server works that way)

like image 903
Dmitry Evseev Avatar asked Mar 16 '11 09:03

Dmitry Evseev


2 Answers

Changed all Redirect 301 rules to:

RewriteRule ^/page1.html$ /dir1/page.html [R=301,L]

now working. But how does it work on production?

like image 112
Dmitry Evseev Avatar answered Oct 22 '22 14:10

Dmitry Evseev


For me, I had the exact same issue. Adding "http://domain.com" in front of "/mypage" worked; I am still testing to get it to work without, as is does on my production server. So my .htaccess on my local testing environment, went like this:

BROKEN: Redirect 301 /mypage /directory1/sub-directory/mypage/

FIXED: Redirect 301 http://mydomain.com/mypage http://mydomain.com/directory1/sub-directory/mypage/

like image 33
adleviton Avatar answered Oct 22 '22 15:10

adleviton