我想通过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
祝你好运
答案 0 :(得分: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]
# 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]