htaccess 多域与 Wordpress
htaccess multidomain with Wordpress
我想将 wordpress 上的网站从旧虚拟主机迁移到新虚拟主机。
我的新托管服务提供商允许这样的额外域(别名)
www/domains/domain1.com
www/domains/domain2.com
我在新主机上的根目录:
/
-.htaccess
-session
-tmp
-www/domains/my-domain.com/wordpressfolder
当我使用新主机的内部网址 (myinternaladdress.hosting.com) 来测试在将我的域路由到新主机之前是否一切正常时,我遇到了错误问题。
在 Wordpress 中我将 wp-config.php WP_HOME,WP_SITEURL,WP_HOME,WP_SITEURL 设置为
"myinternaladdress.hosting.com/www/domains/my-domain.com/"
.htaccess 文件在 www 目录中:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/ [DPI]
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/ [DPI]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ // [R]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ // [R]
.htaccess 文件在 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>
当我转到 myinternaladdress.hosting.com/www/domains/my-domain.com/ 主页时效果很好,但是例如/我的域。com/about/ 未找到。
转到管理仪表板中的 Settings > Permalinks
并保存页面设置,这将刷新应该刷新的重写规则允许您的页面再次被访问。
我想将 wordpress 上的网站从旧虚拟主机迁移到新虚拟主机。
我的新托管服务提供商允许这样的额外域(别名)
www/domains/domain1.com
www/domains/domain2.com
我在新主机上的根目录:
/
-.htaccess
-session
-tmp
-www/domains/my-domain.com/wordpressfolder
当我使用新主机的内部网址 (myinternaladdress.hosting.com) 来测试在将我的域路由到新主机之前是否一切正常时,我遇到了错误问题。
在 Wordpress 中我将 wp-config.php WP_HOME,WP_SITEURL,WP_HOME,WP_SITEURL 设置为
"myinternaladdress.hosting.com/www/domains/my-domain.com/"
.htaccess 文件在 www 目录中:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/ [DPI]
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/ [DPI]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ // [R]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ // [R]
.htaccess 文件在 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>
当我转到 myinternaladdress.hosting.com/www/domains/my-domain.com/ 主页时效果很好,但是例如/我的域。com/about/ 未找到。
转到管理仪表板中的 Settings > Permalinks
并保存页面设置,这将刷新应该刷新的重写规则允许您的页面再次被访问。