2

我目前有一个在子文件夹中运行的多个应用程序,我想移动到子域并用新网站替换当前站点,但仍然允许在以前的 url 中找到旧应用程序

当前:mysite.com/application/page1.aspx

我想要做的是将此应用程序移动到 application.mysite.com/page1.aspx

我需要一个 .htaccess 重写规则来做两件事

  1. 仍将允许某人转到 mysite.com/application/page1.aspx 并访问应用程序
  2. 保持页面上显示的 URL 为 mysite.com/application/page1.aspx,隐藏它是子域的事实。

隐藏子域并不重要,因为它可以让 Google 高兴地在那些页面上找到它一直存在的内容。

注意:这个新的主站点是一个 wordpress 站点。

这是我现在在 htaccess 中的内容


<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /foldername/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} mysite.com/foldername$ [NC]
RewriteRule ^adminpgm/(.*)$ http://SUBDOMAIN.mysite.com/adminpgm/$1 [R=301,L]

RewriteRule . /foldername/index.php [L]

</IfModule>
4

1 回答 1

0

因为 Wordpress 还使用带有子文件夹的 url,这将很难自动化(如果你使用漂亮的 url,每个帖子、页面、类别等都可以显示为子文件夹)。

如果您确切知道要移动哪些应用程序,则可以这样做:

RewriteCond %{REQUEST_URI} ^/(application1|application2|another-one|application4)
RewriteRule ^([^/]*)/(.*)$ http://$1.domain.com/$2 [R=301,L]

只需将所有应用程序文件夹名称放在第一条规则中,用竖线 ( |)分隔

关于 SEO:“隐藏子域并不重要,因为它可以让 Google 高兴地在那些页面上找到它一直存在的内容。”

只要您使用 [R=301] 标志进行重定向,Google 就会知道内容已移动并且完全没有问题。随着时间的推移,Google 将开始在搜索结果中显示子域,而不是旧 URL,我认为这比必须永远支持旧 URL 更可取。

于 2012-11-22T15:16:25.997 回答