Search code examples
.htaccesshttp-redirectmod-rewriteurl-rewritingquery-string

Redirect all pages containing a particular part to home using htaccess


Recently my site got hacked, and tons of pages were generated. Most of them end with strings like ?_t=77, ?_t=97, and ?_t=56 etc. Basically, the ?_t= part is common in all of them.

How do I create a .htaccess rule to redirect all the links with ?_t= to home?

Some redirects I've already created:

<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /profile/1320172681 /u/DanLiu
Redirect 301 /profile/387899125 /u/LuckyMaheshwari
Redirect 301 /profile/15379797 /u/manishchopra
Redirect 301 /profile/335596945 /u/MatthewNord
Redirect 301 /profile/94097446 /u/abhimanyu
</IfModule>

Thanks


Solution

  • With your shown attempts/samples, please try following htaccess rules. Please make sure to clear your browser cache before testing your URLs.

    <IfModule mod_rewrite.c>
    ##making your Rewrite engine ON here.
    RewriteEngine On
    ##Rewriting urls with ending with ?_t=digits to home page here.
    RewriteCond %{QUERY_STRING} ^_t=\d+/?$ [NC]
    RewriteRule ^ / [R=301,L,QSD]
    ##Rewriting home page url to index.php here.
    RewriteRule ^/?$ index.php [QSA,L]
    ###put your rest of htaccess Rules from here onwards.
    
    Redirect 301 /profile/1320172681 /u/DanLiu
    Redirect 301 /profile/387899125 /u/LuckyMaheshwari
    Redirect 301 /profile/15379797 /u/manishchopra
    Redirect 301 /profile/335596945 /u/MatthewNord
    Redirect 301 /profile/94097446 /u/abhimanyu
    </IfModule>