Искам да пренасочвам feedback.domain.de на www.domain.de/de/abc/cde.html чрез htaccess.
Моят текущ 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 за отговор № 1Най- Redirect
директивата приема само път, свързан с коренния път (например / Ми-пътека) и няма да съвпадне с хост-частта на 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]