XF 1.5 vBulletin 5 URL's Redirect

Melvin Garcia

Active member
Hi guys,

I recently upgraded my forum with vbulletin 5 to xenforo, now my question is, how can I configure redirects the old URLs for vbulletin 5?

This is the .htaccess from the vbulletin 5

<IfModule mod_rewrite.c>
    RewriteEngine On
    #In some cases where you have other mod_rewrite rules, you may need to comment out the following line
    #and change it to match your folder name. This resets the other mod_rewrite rules for just this directory
    #If your site was www.example.com/forum, the setting would be /forum/
    #RewriteBase /

    # Send css calls directly to the correct file VBV-7807
    RewriteRule ^css.php$ core/css.php [NC,L]

    # Redirect old install path to core.
    RewriteRule ^install/ core/install/ [NC,L]

    # Main Redirect
    RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|css)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?routestring=$1 [L,QSA]

    # Because admincp is an actual directory.
    RewriteRule ^(admincp/)$ index.php?routestring=$1 [L,QSA]


<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE application/atom+xml \
                          text/javascript \
                          application/x-javascript \
                          application/javascript \
                          application/json \
                          application/rss+xml \
                          application/vnd.ms-fontobject \
                          application/x-font-ttf \
                          application/xhtml+xml \
                          application/xml \
                          font/opentype \
                          image/svg+xml \
                          image/x-icon \
                          text/css \
                          text/html \
                          text/plain \
                          text/x-component \

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType application/x-javascript A1209600
    ExpiresByType text/javascript A1209600
    ExpiresByType application/javascript A1209600
    ExpiresByType text/css A31536000
    ExpiresByType image/x-icon A2592000
    ExpiresByType image/icon A2592000
    ExpiresByType application/x-ico A2592000
    ExpiresByType application/ico A2592000
    ExpiresByType image/gif A2592000
    ExpiresByType image/jpeg A1209600
    ExpiresByType image/jpg A1209600
    ExpiresByType image/png A1209600
    ExpiresByType application/x-shockwave-flash A1209600
    ExpiresByType font/ttf A2592000
    ExpiresByType font/otf A2592000
    ExpiresByType font/x-woff A2592000
    ExpiresByType image/svg+xml A2592000
    ExpiresByType font/truetype A2592000
    ExpiresByType font/opentype A2592000
    ExpiresByType application/x-font-woff A2592000
    ExpiresByType application/vnd.ms-fontobject A2592000

<IfModule mod_headers.c>
    Header set Connection keep-alive
    <filesmatch "\.(ico|flv|gif|swf|eot|woff|otf|ttf|svg)$">
        Header set Cache-Control "max-age=2592000, public"
    <filesmatch "\.(jpg|jpeg|png)$">
        Header set Cache-Control "max-age=1209600, public"
    <filesmatch "\.(eot|woff|otf|ttf|svg)$">
        Header set Cache-Control "max-age=2592000, public"
    # css and js should use private for proxy caching https://developers.google.com/speed/docs/best-practices/caching#LeverageProxyCaching
    <filesmatch "\.(css)$">
        Header set Cache-Control "max-age=31536000, private"
    <filesmatch "\.(js)$">
        Header set Cache-Control "max-age=1209600, private"

Is it possible to fix the URLs so that they work in XenForo?
Hi and thanks for the reply @Slavik,

This is the new and old url's

New url = mysite.com/temas/licencia-vbulletin.549
Old url= mysite.com/forum/comunidad/compro-vendo/540-licencia-vbulletin

New url = mysite.com/miembros/nextgen.1/
Old url= mysite.com/member/1-nextgen

New url = mysite.com/comunidad/productos-plugins-hacks.37/
Old url= mysite.com/forum/recursos/productos-plugins-hacks

Tell me if you need more details please.
As I assume you did a double import, that's going to make redirects difficult as is (unless the first import maintained IDs; it doesn't appear that you maintained IDs within XF).

Otherwise, you are likely to need to write individual rules for each URL you want to rewrite. Even if IDs are maintained, it seems that some URLs don't have IDs in them, so you need to rewrite them individually.

You can do individual redirects of specific URLs in Apache via Redirect: https://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
Top Bottom