2015-04-23 3 views
1

У меня есть сайт, на котором mydomain.com и mydomain.com/frontpage обслуживают то же самое содержимое. Социальные эксперты SEO говорят мне, что очень плохо иметь одинаковый контент по разным адресам. Google набросит на меня страшную судьбу.Другой случай переадресации .htaccess

Так что я подумал, что я просто перенаправляю mydomain.com на mydomain.com/frontpage, но я терплю неудачу. Я просто не могу оборачивать голову командами htaccess.

Мне нужно, чтобы посетители, посетившие mydomain.com или www.mydomain.com, перенаправлялись на сайт www.mydomain.com/frontpage, чтобы он стал видимым в поле адреса браузера. НО ничего не нужно перенаправлять. Например, www.mydomain.com/anotherpage все равно должна быть там.

В моем .htaccess уже много правил перезаписи, которые перенаправляют все эти удобные адреса на реальные URL-адреса (index.php? Pageid = 341) и т. Д. Поэтому я думаю, что сначала переадресую mydomain .com на mydomain.com/frontpage, а затем разрешите другому RewriteRule позже убедиться, что mydomain.com/frontpage фактически указывает на index.php? pageid = 341. Но mydomain.com => mydomain.com/frontpage должен быть видимым перенаправлением, а все остальные правила перезаписи скрыты от пользователя.

Каким Redirect или RedirectMatch или RewriteRule выглядеть, который перенаправляет посетителей из www.mydomain.com в www.mydomain.com/frontpage, сохраняя при этом другие адреса, такие как, например, www.mydomain.com/anotherpage?

Спасибо.

ответ

1

Вы можете вставить это новое правило чуть ниже RewriteEngine On линии:

RewriteRule ^/?$ /frontpage [L,R=301] 
+0

Спасибо. Это почти работает. Но по какой-то причине он сохраняет остальную часть URL-адреса. Адрес становится mydomain.com/frontpage/?pageid=431. Мне удалось произвести этот результат сам. : -/ –

+1

Вам нужно сохранить это правило как первое правило после строки «RewriteEngine on». – anubhava

+1

Извините, я неправильно понял. Я разместил его над строкой «RewriteEngine On». Да, теперь это работает! Большое спасибо! –