虚拟主机设置:没有 www 就无法访问 wordpress 网站

虚拟主机设置:没有 www 就无法访问 wordpress 网站

我想使用或不使用 www 来访问我的网站。目前只支持使用 www。不带 www 只会转到空白页。此外,wp-admin 也只会加载空白页。

我已为 mysite.com 和 www.mysite.com 设置了 A 记录,均指向我的静态 Bitnami IP。我还有一个子域映射到另一个运行正常的目录(conference.mysite.com 和 www.conference.mysite.com)。

我在 AWS EC2 微实例上使用 Bitnami 堆栈。

这是我的httpd.conf:

ServerRoot "/opt/bitnami/apache2"
Listen 80

LoadModule authn_file_module modules/mod_authn_file.so
blah blah blah....
LoadModule php5_module        modules/libphp5.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>

ServerAdmin [email protected]
ServerName localhost:80
DocumentRoot "/opt/bitnami/apps/wordpress1/htdocs/"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

<Directory "/opt/bitnami/apps/wordpress1/htdocs/">
    Options Indexes MultiViews +FollowSymLinks
    LanguagePriority en
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

<FilesMatch "^\\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "logs/error_log"

LogLevel warn
<IfModule log_config_module>

    LogFormat "%h %l %u %t \\"%r\\" %>s %b \\"%{Referer}i\\" \\"%{User-Agent}i\\"" combined
    LogFormat "%h %l %u %t \\"%r\\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \\"%r\\" %>s %b \\"%{Referer}i\\" \\"%{User-Agent}i\\" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access_log" common
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/opt/bitnami/apache2/cgi-bin/"
</IfModule>
<Directory "/opt/bitnami/apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

Include conf/extra/httpd-mpm.conf

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
AddType application/x-httpd-php .php .phtml
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /opt/bitnami/python

ServerSignature Off
ServerTokens Prod

AddType application/x-httpd-php .php
PHPIniDir "/opt/bitnami/php/etc"

Include "/opt/bitnami/apps/phpmyadmin/conf/phpmyadmin.conf"
ExtendedStatus On
<Location /server-status>
  SetHandler server-status
  Order Deny,Allow
  Deny from all
  Allow from localhost
</Location>

Include "/opt/bitnami/apache2/conf/bitnami/httpd.conf"
Include "/opt/bitnami/apps/virtualhost.conf"

这是我的虚拟主机文件:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin xx
    DocumentRoot "/opt/bitnami/apps/wordpress1/htdocs"
    ServerName mbird.com
    ServerAlias www.mbird.com
    ErrorLog "logs/wordpress-error_log"
    CustomLog "logs/wordpress-access_log" common
</VirtualHost>
<Directory "/opt/bitnami/apps/wordpress1/htdocs">
 Options Indexes MultiViews +FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>

### WordPress conference.mbird.com configuration ###
<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot "/opt/bitnami/apps/wordpress/htdocs"
 ServerName conference.mbird.com
 ServerAlias www.conference.mbird.com
 ErrorLog "logs/confwordpress-error_log"
 CustomLog "logs/confwordpress-access_log" common
</VirtualHost>
<Directory "/opt/bitnami/apps/wordpress/htdocs">
 Options Indexes MultiViews +FollowSymLinks
 AllowOverride All
 Order allow,deny
 Allow from all
</Directory>
###

答案1

也许,您应该查看有关正在提供服务的站点域(“MULTISITE”)的 wordpress 配置,或者设置从域到 www.domain 的明确 apache 重定向。

答案2

据我了解,你想拥有2个工作地点,www 和非 www。这不是一个好的情况。 您可能需要做出一个正式的决定:www 和非 www 中哪一个是您的首选解决方案?(Google Analytics 和其他公司会非常喜欢/需要它)

然后做一个永久重定向所有 URL 从非首选 URL 变为首选 URL。这将是 Vadym 建议的“重定向 301”。

这些重定向将安装在你的 vhost.conf 中

答案3

WP 无法很好地处理多个域名,因为它的所有页面、附件和内容的链接都存储在其数据库和文件中,而不是使用变量。定义网站的地址(带或不带“www”部分),并在您的网络服务器中进行适当的永久重定向,指向正确的地址。

相关内容