#.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 { //перенаправление }