Не могу перенаправить с помощью .htaccess

На конце моей веревки здесь нет ничего, что должно было бы работать.

Я новичок в создании веб-сайтов, и я заметил, что мои посетители пытались получить доступ к определенным страницам и получать запрещенные предупреждения, например: при попытке www.test.com/test выдает ошибку 403.

Все, что я хочу сделать, это сделать так, чтобы www.test.com/test перенаправлял его в файл test.html в каталоге прямо над ним.

Пробовал делать это с .htaccess в корневом каталоге только

redirect /test www.test.com/test.html

Не работает. Просто выдает ошибку 403.

Пробовал простой файл index.html для перенаправления только

<?php
header('Location: www.test.com/test.html');
die();
?>

Но это тоже не работает.

На самом деле не уверен, почему оба они наотрез отказываются работать.


person alexbale    schedule 08.10.2014    source источник
comment
PHP не сработает, если он не находится в файле .php. Кроме того, является ли javascript вариантом?   -  person Adam Fratino    schedule 08.10.2014
comment
Редактирование и переименование исправили это. Большое спасибо, ребята!   -  person alexbale    schedule 08.10.2014


Ответы (2)


параметр заголовка должен быть заключен в двойные кавычки. подобно

header("Location: www.test.com/test.html"); 
exit(); 

также убедитесь, что ваш сервер распознает расширение вашего файла как файл php, если у него нет расширения файла .php. Вы можете добавить собственные расширения, отредактировав httpd.conf.

person Mithun Satheesh    schedule 08.10.2014

Если я правильно интерпретирую ваше конечное намерение, вам не нужно использовать перенаправления, просто попробуйте это в своем .htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ $1.html [QSA,L]
</IfModule>

Таким образом, каждый запрошенный URL-адрес будет интерпретироваться так, как будто это один и тот же запрос плюс .html.

Хотя вы можете сделать это через перенаправление, это не обязательно.

Итак, если у вас есть этот код в .htaccess, вам просто нужно иметь файл test.html в корневом каталоге, а www.test.com/test будет обслуживать страницу www.test.com/test.html.

person Alejandro Arbiza    schedule 08.10.2014