开发者

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

开发者 https://www.devze.com 2023-02-16 23:04 出处:网络
have such kind of error. When adding Redirect 301 rule to .htaccess file like: Redirect 301 \"/page1.html\" \"/dir1/\"

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 erro开发者_运维知识库r 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)


Changed all Redirect 301 rules to:

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

now working. But how does it work on production?


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/


I had same issue, for me this didn't work as well:

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

What worked for me is to remove the leading slash, and add soft tailing slash with ?, like this:

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


Please try this, it's working as expected.

 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  Redirect 301 /our_clients/nike /project/nike-nofyme-campaigns
 </IfModule>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号