我目前有一个在子文件夹中运行的多个应用程序,我想移动到子域并用新网站替换当前站点,但仍然允许在前一个URL找到旧的应用程序,例如
当前:mysite.com/application/page1.aspx
我想要做的是将此应用程序移至application.mysite.com/page1.aspx
我需要一个.htaccess重写规则来做两件事
隐藏子域名并不是那么重要,因为它让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>
答案 0 :(得分:0)
因为Wordpress也使用带子文件夹的网址,所以自动化很难(如果你使用漂亮的网址,每个帖子,页面,类别等都可以显示为子文件夹)。
如果你确切知道你正在移动哪些应用程序,你可以这样做:
RewriteCond %{REQUEST_URI} ^/(application1|application2|another-one|application4)
RewriteRule ^([^/]*)/(.*)$ http://$1.domain.com/$2 [R=301,L]
只需将所有应用程序文件夹名称放在第一个规则中,用管道(|
)
关于SEO: “隐藏子域名并不是那么重要,因为谷歌很乐意在那些一直以来的页面上找到内容。”
只要您使用[R = 301]标记重定向,Google就会知道内容已移动且完全没有问题。随着时间的推移,谷歌将开始在搜索结果中显示子域而不是旧的URL,我认为这可能是永远支持旧网址的首选。