我想使用或不使用 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”部分),并在您的网络服务器中进行适当的永久重定向,指向正确的地址。