перенаправление htaccess example.com/index.php чтобы example.com/home

#.htaccess #url #redirect

#.htaccess #url #перенаправление

Вопрос:

Заранее спасибо, я пытаюсь перенаправить всех, кто вводит example.com или example.com/index.php чтобы example.com/home

Пожалуйста, дайте мне знать, я пробовал правила htaccess для перенаправления permanent и 301, и они не сработали. Мои страницы создаются динамически.

Комментарии:

1. Не могли бы вы показать нам правила, которые вы использовали? Возможно, это синтаксическая ошибка.

Ответ №1:

Во-первых, убедитесь, что ваш синтаксис правильный. Так ли выглядел ваш файл .htaccess?

 Redirect 301 / http://example.com/home
Redirect 301 /index.php http://example.com/home
 

Если вы уверены, попробуйте это:

 RewriteEngine on
RewriteBase /
RewriteRule ^amp; http://example.com/home [L,R=301] 
RewriteRule index.php http://example.com/home [L,R=301]
 

Комментарии:

1. Можно ли сделать это «одноразовым» перенаправлением, когда пользователь вводит адресную строку ‘www.mysite.com » или «mysite.com » тот самый «mysite.com/home ‘вместо этого загружается страница? У меня есть страницы, созданные динамически, которые выходят из index.php шаблон (т.е. php-код на индексной странице извлекает данные mysql для заполнения и использования index.php в качестве шаблона) Поэтому каждый раз, когда я выполняю приведенный выше код, независимо от того, по какой ссылке я нажимаю, это возвращает меня к ‘www.mysite.com/home ‘. Мысли?

2. Я подумал, что с моим кулаком может быть что-то странное RewriteRule , попробуйте это: RewriteRule / http://mysite.com/home [L,R=301]

Ответ №2:

Не могли бы вы просто поставить php-скрипт для перенаправления посетителей? Следующее должно сработать, сохраните его как index.php в вашем корневом каталоге.

 <?
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://www.yoursite.com/home" ); 
?> 
 

Комментарии:

1. Можно ли сделать это «одноразовым» перенаправлением, когда пользователь вводит адресную строку ‘www.mysite.com » или «mysite.com » тот самый «mysite.com/home ‘вместо этого загружается страница? У меня есть страницы, созданные динамически, которые выходят из index.php шаблон (т.е. php-код на индексной странице извлекает данные mysql для заполнения и использования index.php в качестве шаблона) Поэтому каждый раз, когда я выполняю приведенный выше код, независимо от того, по какой ссылке я нажимаю, это возвращает меня к ‘www.mysite.com/home ‘. Мысли?

2. www.mysite.com и mysite.com должно обрабатываться через настройки DNS AFAIK, так что это не имеет значения. Простите меня, если я ошибаюсь, но вы хотите сказать, что используете index.php как скрипт, помогающий создавать страницы? Похоже, что для этого должно быть лучшее решение — это что-то вроде строительства завода и установки оборудования в приемной. Не могли бы вы использовать отдельную страницу для размещения этого сценария? Если вы настаиваете, вы всегда можете передать переменную в index.php это помечает вызов как внутренний и выполняет следующее … if($flag){ //Использовать страницу для создания сайта } else { //перенаправление }