2

I have a website hosted at GoDaddy. The url is www.immi.hu. We have changed the old URLs as the old site was replaced with new One. I'm trying to redirect some old URLs to new URLs under the same domain as Google has cached them, and do not want to loose customers.

I've created a .htaccess file, and tried the Redirect 301 method and also with RewriteRule. None of them seems to work. The code of the .htaccess file is:

RewriteEngine on
RewriteBase /
RewriteRule \.(xml|ico|eot|svg|ttf|woff|otf|js|css|map|gif|jpe?g|png)$ - [L]
RewriteRule ^(.*) index.php?url=$1 [L,QSA]
RewriteRule ^hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam.html$ /3d-latvanytervezes/3d-lakberendezo-tanfolyam [R=301,NC]

An example: I want to redirect a URL e.g.: OLD URL: www.immi.hu/hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam.html NEW URL: www.immi.hu/3d-latvanytervezes/3d-lakberendezo-tanfolyam Unfortunately nothing seems to happen.

Can you please help?

  • 2
    Then put that rule further up. At the moment, the last thing it will hit is the index.php rule and not go further. – Jonnix Aug 07 '19 at 15:05
  • Hi Jonnix. I've just modified it. Moved it further up under RevriteBase. Not working: http://www.immi.hu/hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam.html – László Ambrus Immi Aug 07 '19 at 15:10
  • Also make sure you add the `L` flag to the rule. Also worth trying adding `/` to the beginning of your rule regex pattern, i.e. `RewriteRule ^/hu/3d-...` – Jonnix Aug 07 '19 at 16:13
  • Tried that One as well. It should be working. :( Can it be a stupid GoDaddy configuration? – László Ambrus Immi Aug 07 '19 at 17:09

1 Answers1

-1

RewriteRule hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam.html$ /3d-latvanytervezes/3d-lakberendezo-tanfolyam [R=301,NC]

instead of:

RewriteRule hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam\\.html$ /3d-latvanytervezes/3d-lakberendezo-tanfolyam [L,R=301,NC]

dot must be escaped in the rewriterule and have an "L" flag in the 301 redirect.

And put that RewriteRule ^(.*) index.php?url=$1 [L,QSA] at the end of the file.

  • Thanks for helping! ;) The RewriteBase also had to be swithed off for some reason. But the correct line looks like this: RewriteRule ^/hu/3d-latvanytervezes-tanfolyamok/3d-lakberendezo-tanfolyam.html$ /3d-latvanytervezes/3d-lakberendezo-tanfolyam [L,R=301,NC] and at the end of the .htaccess: RewriteRule ^(.*) index.php?url=$1 [L,QSA] – László Ambrus Immi Aug 12 '19 at 06:50