【问题标题】:How to I add a wildcard subdomain redirect to a subdirectory in htaccess?如何将通配符子域重定向添加到 htaccess 中的子目录?
【发布时间】:2015-09-26 20:54:55
【问题描述】:

我的旧子域网址看起来像:

www.newyork.website.co.uk

我现在想把它重定向到:

www.website.com/city/newyork

但是,我有 2,000 多个城市,只想添加通配符重定向。如何在我的 htaccess 文件中执行此操作?

例如www.*.website.co.uk redirects to www.website.co.uk/city/*

这太让我头疼了,但这是我试图混淆的:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.co.uk$ [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/city/%{REQUEST_URI} [R=301,L]

【问题讨论】:

  • %{HTTP_HOST} 上的重写条件/规则,基本上...
  • 对不起,我是绝对新手。我已经对 rewritecond 规则进行了一些研究,但这太过分了。有一些我可以使用的示例代码吗?
  • 我根据上面的研究添加了我目前编译的内容。

标签: regex apache .htaccess mod-rewrite redirect


【解决方案1】:

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?((?!www\.)[^.]+)\.(website\.co\.uk)$ [NC]
RewriteRule ^/?$ http://www.%2/city/%1 [R=302,L]

【讨论】:

  • 实际上只是在尝试子域之前测试它是否关闭的主域
  • 是的。这真的越来越近了。它会正确重定向子域,但也会将主域website.co.uk 重定向到website.co.uk/regions/www。不知何故,这条规则需要忽略主域。
  • 仍在重定向主域。 :(。
  • 罢工吧。我复制后有一个快速编辑。那行得通。你摇滚!!!!!!
猜你喜欢
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 2012-10-13
  • 2018-08-14
相关资源
最近更新 更多