如何我添加一个通配符子域名重定向到htaccess的子目录?通配符、子目录、重定向、域名

2023-09-02 09:54:06 作者:嘴在逞强ヽ 泪在投降

我的旧子域网址看起来是这样的:

  www.newyork.website.co.uk
 

我想现在重定向到:

  www.website.com/city/newyork
 

不过,我有超过2000个城市,只是想添加一个通配符重定向。我该如何去在我的htaccess的文件这样做呢?

例如。 WWW。*。website.co.uk重定向到www.website.co.uk/city / *

windwos如何修改hosts文件,可以添加一个一级域名,让所有的二级域名都生效

这是迄今为止在myhead,但是这是我试图蒙混过关起来:

  RewriteEngine叙述上
的RewriteCond%{HTTP_HOST}!^域 .co.uk $ [NC]
重写规则^(。*)$ http://www.domain.co.uk/city/%{REQUEST_URI} [R = 301,L]
 

解决方案

您可以在 DOCUMENT_ROOT /的.htaccess 文件中使用此code:

  RewriteEngine叙述上

的RewriteCond%{HTTP_HOST} ^(?:WWW )?((?!万维网。)[^。] +)。(网站 .CO 。英国)$ [NC]
重写规则^ / $ HTTP://www.%2/city/%1 [R = 302,L]
 

My old subdomain urls look something like:

www.newyork.website.co.uk

I want to redirect it now to:

www.website.com/city/newyork

However I have over 2,000 cities and just want to add a wildcard redirect. How do I go about doing this in my htaccess file?

e.g. www.*.website.co.uk redirects to www.website.co.uk/city/*

THis is so far over myhead but this is what I have tried to muddle together:

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

解决方案

You can use this code in your DOCUMENT_ROOT/.htaccess file:

RewriteEngine On

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