• Версия WP : 4.6.1
    MySQL Версия : 5.1.73
    PHP Версия : 5.3.3
    WP URL: http://xxxxxxxxx.ru
    Версия PHP : 5.3.3
    Локальный адрес сайта: 192.168.3.230
    apache: httpd-2.2.15-54.el6.centos.x86_64
    ОС: Linux sitename 2.6.32-642.6.2.el6.x86_64 GNU/Linux
    WordPress находится за NAT

    Добрый день, господа!
    Такая проблема: после переезда с одного сервера на другой(копированием всех файлов wp, выгрузкой бд через phpmyadmin), обнаружилась проблема с относительными путями(ссылками).
    При вставке URL вида /wp-content/blablabla, url выглядит так: http://192.168.3.230/wp-content/blablabla, однако, должен он подставлять http://siteurl/wp-content/blablabla. Естественно, при переезде, в wp-config.php добавлены строки вида:

    define( 'WP_HOME', 'http://siteurl.ru' );
    define( 'WP_SITEURL', 'http://siteurl.ru' );

    так же, как иdefine( 'RELOCATE', true );

    в файле functions.php текущей темы так же присутствует

    <?php
    update_option( 'siteurl', 'http://russalt.ru/' );
    update_option( 'home', 'http://russalt.ru/' );

    В бд править пробовал, указания по локальному адресу вида 192.168.3.230 в базе нет. шерстил скриптами, точно нет.

    подскажите, куда бы копнуть? где ковырнуть? понимаю, что где-то накосячил, но вот где?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Yui

    (@fierevere)

    永子

    в сторону настроек апача
    .htacess
    или основные настройки

    <VirtualHost> 
    ServerName
    ServerAlias

    + желательно сделать так чтобы хосты внутри НАТ обращались к сайту по внутреннему IP
    т.е. определить доменное имя например в файле hosts

    • Ответ изменён 7 лет, 7 месяцев назад пользователем Yui.

    .htaccess

     cat /var/www/html/wp-content/themes/sitetheme/.htaccess
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    + желательно сделать так чтобы хосты внутри НАТ обращались к сайту по внутреннему IP
    т.е. определить доменное имя например в файле hosts

    ага, есть такое:

    $ ping hostname.ru
    PING hostname.ru (192.168.3.230): 56 data bytes
    64 bytes from 192.168.3.230: icmp_seq=0 ttl=64 time=0.659 ms
    64 bytes from 192.168.3.230: icmp_seq=1 ttl=64 time=3.911 ms
    ^C
    --- hostname.ru ping statistics ---
    2 packets transmitted, 2 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.234/1.268/3.911/1.535 ms

    По поводу имени и алиаса:

    # cat /etc/httpd/conf/httpd.conf | grep ServerName
    # ServerName gives the name and port that the server uses to identify itself.
    ServerName hostname.ru:80
    
    <VirtualHost *:80>
        ServerAdmin admin@hostname.ru
        DocumentRoot /var/www/html
        ServerName hostname.ru
        ServerAlias hostname.ru
        ErrorLog logs/hostname.ru-error_log
        CustomLog logs/hostname.ru-access_log common
    </VirtualHost>

    Может, есть еще какие то мысли?

    Итак, проблема решена, забыл отписать.
    Проблема была в настройках apache.(установка разрешения modRewrite с None на All). Всем спасибо(В особенности Yui)!

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Проблемы с относительными путями после переноса сайта» закрыта для новых ответов.