Support » Localhost Installs » Relative links broken after migrating staging to development in WordPress websit

  • Resolved warrior7089

    (@warrior7089)


    Trying to migrate WordPress *staging* website hosted on some hosting provider to local computer and having issues with relative urls.

    Migration steps:

    1) Cloned site code repository
    2) Imported mysql dump
    3) Used wp-cli to search and replace staging site url with
    *localhost/site*

    Everything seems fine apart from some relative urls.

    Example of issues:

    Correct linking

    Sub menu Travel links to page Travel (whose slug is travel), so clicking it redirects to the correct path siteurl/travel.
    Where siteurl is localhost/site hosted in /var/www/html/site.

    Incorrect linking

    The widget area image link */travel* somehow links to the wrong path localhost/travel.
    Its Settings->;General->;WordPress Address (URL) and Site Address (URL) are: localhost/site

    I think it’s related somehow to .htaccess file or apache server configuration.

    Localhost site .htaccess file contents are:

    <IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /site 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /site/index.php [L] 
    </IfModule>

    Generally, my question, what apache server configuration is needed to replicate the behaviour of relative links on hosting? So that relative links on the website like /link would be relative to the wordpress site url (localhost/site/link) and not relative to host – localhost/link.

Viewing 2 replies - 1 through 2 (of 2 total)
  • You’ll find an options table in the wp db that set home url and site url, update those. WordPress uses absolute links, not relative ones.

    Suggest that you consult the FAQ – “Moving WordPress” instructions, details here: http://codex.wordpress.org/Moving_WordPress
    And Or use the excellent plugin “Duplicator” for doing the database changes required to change URLs.

    As noted above WordPress uses absolute links, and the site URL turns up all over the place, AND to complicate things many fields use “length encoded” strings, so a straight search/replace on your database will knock lots of settings out of line.

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.