Назад | Перейти на главную страницу

Цикл перенаправления с WordPress на VPS

Я настроил на VPS WordPress и DNS для перенаправления доменного имени на мой сервер. Но у меня проблемы с скрытием IP сервера. Фактически, когда меня перенаправляют с моего доменного имени на сервер, URL-адрес меняется с www.example.com/wordpress к XXXXXX/wordpress (XXXXXX это IP-адрес).

Поэтому я попытался изменить URL-адрес сайта в настройках для доменного имени. Однако я застрял в петле между сервером и доменным именем или им самим. В настройках поменял на http://www.example.com/wordpress вместо того http://XXXXXX/wordpress

Вот моя конфигурация для VirtualHost: /etc/apache2/sites-available/default

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName  example
   ServerAlias example.com *.example.com
    DocumentRoot /var/www/
    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
<Directory /var/www/wordpress/>
    Order deny,allow
    Allow from all
    Satisfy any
</Directory>
</VirtualHost>

И вот мой .htaccess /var/www/wordpress/.htaccess

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

И в моем журнале мы видим, что у меня есть внутренние перенаправления

strip per-dir prefix: /var/www/wordpress/index.html -> index.html
applying pattern '^index\\.php$' to uri 'index.html'
strip per-dir prefix: /var/www/wordpress/index.html -> index.html
applying pattern '.' to uri 'index.html'
rewrite 'index.html' -> '/wordpress/index.php'
trying to replace prefix /var/www/wordpress/ with /wordpress/
internal redirect with /wordpress/index.php [INTERNAL REDIRECT]
strip per-dir prefix: /var/www/wordpress/index.cgi -> index.cgi
applying pattern '^index\\.php$' to uri 'index.cgi'
strip per-dir prefix: /var/www/wordpress/index.cgi -> index.cgi
applying pattern '.' to uri 'index.cgi'
rewrite 'index.cgi' -> '/wordpress/index.php'
trying to replace prefix /var/www/wordpress/ with /wordpress/
internal redirect with /wordpress/index.php [INTERNAL REDIRECT]
strip per-dir prefix: /var/www/wordpress/index.pl -> index.pl
applying pattern '^index\\.php$' to uri 'index.pl'
strip per-dir prefix: /var/www/wordpress/index.pl -> index.pl
applying pattern '.' to uri 'index.pl'
rewrite 'index.pl' -> '/wordpress/index.php'
trying to replace prefix /var/www/wordpress/ with /wordpress/
internal redirect with /wordpress/index.php [INTERNAL REDIRECT]

Любые предложения приветствуются!

Я нашел решение, я позвонил в службу технической поддержки своего DNS-провайдера, и мы обнаружили, что я неправильно его настроил. Чтобы помочь людям, у которых может быть такая же проблема, вот она.

Мой DNS-провайдер - 1 и 1, и я перенаправил http на свой ip, и это было неправильно. Правильный способ - установить доменное имя как веб-компонент и установить в параметре DNS запись A для IP-адреса сервера.

Я сделал эту ошибку, потому что подумал, что веб-компонент предназначен для веб-сайта, созданного конструктором веб-сайтов 1 & 1.

Спасибо за ответ user378702

Вы можете изменить DocumentRoot на / var / www / wordpress /

DocumentRoot /var/www/wordpress/
Edited:
If you want hide server IP you can use new server as proxy with nginx and nginx redirect to apache server, and dns configure to proxy server .