0

我想通过 htaccess 将 feedback.domain.de 重定向到 www.domain.de/de/abc/cde.html。

我目前的 htaccess:

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

所以,我想只是补充一下:

redirect 301 feedback.domain.de www.domain.de/de/abc/cde.html

但它不起作用。如果我尝试打开 feedback.domain.de 它会重定向到 www.domain.de

我知道这是一个非常简单的问题,但我不知道如何在 htaccess 中解决它:-(

我想要的结果是:

domain.de -> www.domain.de/de/index.html
www.domain.de -> www.domain.de/de/index.html

domain.de/de/example.html -> www.domain.de/de/example.html
etc...

feedback.domain.de -> www.domain.de/de/feed.html

此致

4

1 回答 1

0

Redirect指令仅接受相对于根路径的路径(例如/my-path),并且不会与 URL 的主机部分匹配。

试试这个(注意这里我假设你想将 domain.de 重定向到 www.domain.de 而不是所有的子域):

RewriteEngine On

# Redirect feedback.domain.de to http://www.domain.de/de/abc/cde.html
RewriteCond %{HTTP_HOST} ^feedback\.domain\.de$
RewriteRule . http://www.domain.de/de/abc/cde.html [L,R=301] 

# Redirect domain.de to www.domain.de
RewriteCond %{HTTP_HOST} ^domain\.de$
RewriteRule . http://www.domain.de/$0 [L,R=301] 

更新答案(2013-03-18):

# Redirect feedback.domain.de to http://www.domain.de/de/abc/cde.html
RewriteCond %{HTTP_HOST} ^feedback\.(domain\.(de))$
RewriteRule .+ http://www.%1/%2/feed.html [L,R=301] 

# domain.de -> www.domain.de/de
RewriteCond %{HTTP_HOST} ^(domain\.(de))$
RewriteRule .+ http://www.%1/%2/$0 [L,R=301] 

# www.domain.de/de -> www.domain.de/de/index.html
RewriteCond %{HTTP_HOST} ^www\.domain\.(de)$
RewriteRule ^%1/?$ index.html [L,R=301] 
于 2013-03-13T13:30:38.850 回答