Как настроить www to non- www redirect в сертифицированном Bitnami WordPress в GCP? - PullRequest
0 голосов
/ 10 марта 2020

Мой сайт работает в GCP, мне нужно отредактировать файл .htaccess, чтобы создать перенаправление, которое перенаправляет www to не www. Как мне это настроить? Я не вижу файла .htaccess на своем веб-сайте, я использовал плагин файлового менеджера для доступа к файлам ядра WordPress.

Я где-то читал, что у bitnami htaccess настроен по-другому. Как создать перенаправление?

Кстати, мой файл httpd-vhosts.conf содержит следующие строки кода:

<VirtualHost *:80>
    ServerName wordpress.example.com
    ServerAlias www.wordpress.example.com
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>

<VirtualHost *:443>
    ServerName wordpress.example.com
    ServerAlias www.wordpress.example.com
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
    SSLEngine on
    SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/server.crt"
    SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/server.key"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>

У меня буквально есть example.com, а не mydomain.com, я должен волноваться?

Ответы [ 3 ]

0 голосов
/ 11 марта 2020

Если вы используете bitnami wordpress, который вы можете настроить непосредственно в WordPress, то единственный .htaccess, который имеет WordPress, находится в

/ opt / bitnami / apps / wordpress / htdocs / wp-content / plugins / akismet /.htaccess

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

wordpressexample.com Внешний IP www.wordpressexample.com CNAME wordpressexample.com

Это для того, чтобы я мог получить доступ к вашему сайту по обеим ссылкам .

0 голосов
/ 11 марта 2020

Поскольку вы не спрашиваете о why my WordPress website not showing, я предполагаю, что ваш веб-сайт WordPress работает нормально, поэтому вы можете оставить имя_сервера без изменений.

Более того, обратитесь к документу Apache HTTP-сервер

В связи с тем, что виртуальный хост с ServerName www.example.com является первым в файле конфигурации, он имеет наивысший приоритет и может рассматриваться как основной или основной сервер.

Это означает, что если получен запрос, который не соответствует ни одной из указанных директив ServerName, он будет обработан первым.

Даже если ServerName может не соответствовать вашему реальный домен, будет использоваться первый VirtualHost на *: 80 .

Так что, если ваш сайт WordPress работает, я рекомендую просто оставить его на example.com.

О настройке перенаправления см. Статью о Bitnami

. Вы можете попробовать использовать S SH и использовать один из текстовых редакторов отредактируйте файл /opt/bitnami/apps/wordpress/conf/httpd-vhosts.conf:

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1$1 [R=permanent,L]
    ServerName wordpress.example.com
    ServerAlias www.wordpress.example.com
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>

<VirtualHost *:443>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1$1 [R=permanent,L]
    ServerName wordpress.example.com
    ServerAlias www.wordpress.example.com
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
    SSLEngine on
    SSLCertificateFile "/opt/bitnami/apps/wordpress/conf/certs/server.crt"
    SSLCertificateKeyFile "/opt/bitnami/apps/wordpress/conf/certs/server.key"

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf"
</VirtualHost>

Вам потребуется перезапустить веб-сервер HTTP Apache, чтобы перезагрузить файл настроек.

$sudo /opt/bitnami/ctlscript.sh restart apache
0 голосов
/ 10 марта 2020

Существует много способов реализации перенаправления. Простой способ - изменить файл apache conf. Замените example.com на ваше доменное имя.

<VirtualHost *:80>
    ServerName example.com
    # Redirect everything arriving on HTTP to HTTPS
    Redirect "/" "https://example.com/"
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    # Redirect anything that is not "example.com"
    <If "%{HTTP_HOST} != 'example.com'">
        Redirect "/" "https://example.com/"
    </If>
</VirtualHost>

Перенаправление и повторное сопоставление с mod_rewrite

Прочитайте эту ссылку для общих случаев использования, чтобы избежать:

Когда не использовать mod_rewrite

Вы должны изменить ServerName, чтобы представить доменное имя вашего сервера. Это должно соответствовать настройкам WordPress для WordPress Address и Site Address.

...