我被迫在子域(http://lnx.domain.tld)上安装wordpress,因为www指向一个Windows服务器,其中还有其他我不需要触摸的网络应用程序。
我希望这是一种干净的,以seo为导向的方式来重写网址,使其显示在子文件夹http://www.domain.tld/newsite中。
有任何建议/示例吗?
编辑:从www
运行wordpress是不可能的答案 0 :(得分:1)
如果您可以将负载均衡器放在WordPress和IIS服务器之上,则可以这样做。您可以将域分配给它,并将其配置为根据URL模式路由请求。它仍然取决于您的托管服务提供商的灵活性 - 负载均衡器需要能够“看到”网络上的其他2发送/路由请求。
我的答案基于经验,因为我的要求与您的要求完全相同。我在同一个域下提供博客和IIS网站。我的IIS和WordPress机器上有一个负载均衡器(HAProxy)。它被配置为根据URL模式将请求路由到不同的服务器。
示例:强>
在配置中,它应该如下所示:
# 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)
答案 1 :(得分:0)
您可以将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
。
答案 2 :(得分:0)
@ Francesco,我想我需要澄清你的新“URL”是一个子目录。 @Kjuly,在这种情况下,Francesco实际上并不需要移动他的博客文件夹。他要求以SEO方式重写URL。 所以我想到的第一件事是.htaccess 301方向。
e.g。
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”的目录,或者无法通过此域访问该目录,因为它正在被其他人使用
答案 3 :(得分:0)
这可能是另一种解决方案。你试过Wordpress for Windows吗?
如果博客的大小不是那么大,您可能需要考虑安装它。然后导入内容。