2012-03-30 2 views
0

Заранее благодарим за любую помощь, которую вы можете предоставить!Почему перенаправление мета обновления больше не работает и как я могу его исправить?

У меня есть сайт, построенный в Ruby on Rails. На моем сайте есть веб-страница, расположенная на example.com/communityboard, которую вы можете использовать для входа в отдельную область Сообщества (сводную доску объявлений, называемую bbPress.)

Я хочу, чтобы пользователи, которые ввели пример URL-адреса .com/community для перенаправления на example.com/communityboard. Он работал таким образом, но по какой-то причине перенаправление больше не работает в любом браузере, кроме IE.

Мы выполнили эту перенаправление, поместив файл index.html в папку/community, где был установлен bbPress. Весь код файла index.html читает

<meta http-equiv="refresh" content="0;url=http://example.com/communityboard"> 

назад, когда мы построили сайт, мне сказали, что мета обновления редирект с помощью файла index.html был лучший вариант. Редирект должен был адресовать ТОЛЬКО одну страницу (http://example.com/community), а не все подуровни сообщества bb (который живет в http://example.com/community/index.php). В противном случае сообщество bb и все его подуровни будут перенаправлены.

Так ... мои вопросы:

Почему мета обновления переадресации не работает больше? Как я могу это исправить?

Еще раз спасибо за любую помощь, которую вы можете предложить!

ответ

0

Вот что произошло в соответствии с моим разработчиком. Я не полностью понимаю объяснение, поэтому я не уверен, что смогу ответить на последующие вопросы! «Со старым кланом монгреров Apache распознал«/community »в качестве каталога, тихо перешел в«/community/», который затем подхватил файл forwarding.html для пересылки. С Phusion Passenger« я думаю, мы используя Apache, Apache отправляет запрос непосредственно Пассажиру, если «/ community» не является обычным файлом, а Passenger возвращает ошибку 404. В качестве исправления мы отключили пассажира в папке сообщества, что устраняет проблему ».

0

Если он работает только в IE, возможно, существует сценарий или проблема синтаксического анализа, которая нарушает работу других браузеров. Я бы запускал HTML через валидатор, например http://validator.w3.org/.

Meta-refresh - это устаревшая практика, которая теперь обескуражена - запись в wikipedia содержит дополнительную информацию и ссылки на альтернативные решения: http://en.wikipedia.org/wiki/Meta_refresh.

+0

Tx, mcknz. Проверено/сообщество и /community/index.html. Некоторые ошибки, но не думаю, что они связаны. Сообщество приводит к ошибке 404. В его документе с ошибкой есть 3 ошибки, все из которых связаны с мета-описанием. Для Index.html «несоответствие между публичными и системными идентификаторами в объявлении DOCTYPE». «В этом документе используется несогласованная декларация DOCTYPE». Отсутствует атрибут xmlns для элемента html. Значение должно быть: 'http: // www.w3.org/1999/xhtml' Открыто для альтернатив метаобновлению, но перенаправление должно адресовать ТОЛЬКО одну страницу (http://example.com/community), а не подуровни от bb. – KDP

+0

Вместо того, чтобы добавлять файл index.html с метаобновлением, можете ли вы использовать файл PHP в качестве документа по умолчанию в example.com/community и выполнять перенаправление на стороне сервера? Это должно устранить любые различия в браузере. – mcknz

+0

У нас есть файл в example.com/community/index.php и файл в example.com/community/index.html. Переадресация метаданных HTML. PHP является высшим уровнем сообщества. Проблема заключается в том, что когда вы вводите «example.com/community» (no /index.html или /index.php), вы получаете ошибку 404. Он не подбирает ни один из файлов. Как вы думаете? – KDP

 Смежные вопросы

  • Нет связанных вопросов^_^