【问题标题】:301 subdomain redirect to folder301子域重定向到文件夹
【发布时间】:2011-12-07 14:48:23
【问题描述】:

我不得不在子域 (http://lnx.domain.tld) 上安装 wordpress,因为 www 指向一个 Windows 服务器,其中还有其他我不需要接触的网络应用程序。

我希望是一种干净的、面向 seo 的方式来重写 url,以便它出现在子文件夹 http://www.domain.tld/newsite 中。

有什么建议/例子吗?

编辑:从 www 运行 wordpress 是不可能的

【问题讨论】:

  • 为什么不用http://newsite.domain.tld/ 之类的?
  • 我是被楼主逼的。 lnx.domain.tld 是我唯一可以访问的 linux 空间。

标签: wordpress .htaccess seo


【解决方案1】:

如果您可以在 WordPress 和 IIS 服务器上放置一个负载平衡器,这是可能的。您可以将您的域分配给它,并将其配置为根据 URL 模式路由请求。这仍然取决于您的托管服务提供商的灵活性——负载平衡器需要能够“看到”网络上的其他 2 个以发送/路由请求。

我的回答是基于经验,因为我的要求与您的要求完全相同。我在同一域下提供博客和 IIS 网站。我的 IIS 和 WordPress 机器上有一个负载平衡器 (HAProxy)。它被配置为根据 URL 模式将请求路由到不同的服务器。

示例:

  • www.website.com/blog -> Wordpress 服务器
  • www.website.com -> IIS 服务器。 (其他一切/默认服务器)

在配置中,它应该看起来像这样:

# Frontends
frontend www
bind            xx.xx.xx.xx:xx
mode            http
option          httpclose
    default_backend iis_webserver

    # this is the condition
    acl blog-request path_beg -i /blog

    # route to a different machine if it's a blog
    use_backend blog_webserver if blog-request


# Backends: These are the machines that can accept requests.
backend iis_webserver
    ...settings...
    server server1 xx.xx.xx.xx:xx check
    server serverN xx.xx.xx.xx:xx check # (if you have more than one server)

backend blog_webserver 
    ...settings...
    server server1 xx.xx.xx.xx:xx check
    server serverN xx.xx.xx.xx:xx check # (if you have more than one server)

【讨论】:

  • 很抱歉,这个提供商一点也不灵活。我什至不能去管理服务器附近的东西。
  • 恐怕这很可能是托管服务提供商的情况。我只能设置负载均衡器,因为我们在数据中心拥有自己的服务器。
【解决方案2】:

您可以将您的 wordpress root fold 放在您的 host wwwroot/
然后登录您的管理面板(访问:http://www.domain.tld/newsite/wp-login.php),在您的配置区域中,将 wordpress URL 设置为 http://www.domain.tld/newsite 并设置网址也指向http://www.domain.tld/newsite

【讨论】:

  • 不幸的是,这是不可能的,因为 www 空间是基于 windows 的,并且那里不支持 wordpress。 (Aruba Hosting 仅供参考。)
  • @FrancescoFrapporti 哦,我明白了.. 但是为什么不使用同时支持您的主站点(如 asp 或 jsp?)和 wordpress 的主机?亚马逊的服务很酷! ;)
  • 是的,我知道还有其他主机,我什至是非常酷的服务的经销商,但我现在正在与 Aruba 打交道。我必须在lnx子域上安装wordpress,还要让它看起来像安装在www空间的子文件夹中。
  • @FrancescoFrapporti Mum..我明白了,但我想我不能提供更多的想法。 :(
【解决方案3】:

@ Francesco,我想我需要澄清一下您的新“URL”是一个子目录。 @Kjuly,在这种情况下,Francesco 实际上不需要移动他的博客文件夹。他要求一种 SEO 友好的方式来重写 URL。 所以我首先想到的是 .htaccess 301 方向。

例如

RewriteEngine On
Options +FollowSymLinks
#test sub domain
RewriteCond %{SERVER_NAME} ^(www.)?subdomain.mydomain.com [NC]  
#avoiding repetitive redirection  
RewriteCond %{REQUEST_URI} !^/subdomain/ [NC]  
#redirect to subdirectory  
RewriteRule ^(.*)$ subdomain/$1 [L] 

注意,如果使用此方法,则无法在 //subdomain.mydomain.com/ 下创建名为“subdomain”的目录,否则无法通过此域访问,因为它正在被其他人使用.

【讨论】:

  • 我有时间试图弄清楚为什么这不起作用,然后出现了一个问题。这适用于 Windows 服务器吗?
  • 对不起,Francesco,我认为在 Linux 上也是如此。 /facepalm 我只是将我的 WordPress 博客从一个服务器移动到另一个服务器。所以这完全是我自己的经验。
【解决方案4】:

这可能是另一种解决方案。你试过Wordpress for Windows吗?

如果您的博客不是那么大,您可能需要考虑安装它。然后导入内容。

【讨论】:

  • 不,这是一个电子商务.. 到现在为止相当复杂的网站。用windows wordpress让事情运行起来会很困难。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2011-12-20
  • 2023-03-21
  • 2014-12-03
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多