2012-03-26 10 views
2

У меня есть клиент, который построил весь сайт с помощью html-расширений. Таким образом, переименование файлов и изменение ссылок просто не является вариантом. Мне нужен способ включить файл нижнего колонтитула на каждую страницу .html. Я читал немного по этому вопросу, и изначально предполагалось, что html include будет в порядке, но потом понял, что они действительны только в том случае, если расширение файла - .shtml или что-то еще. Есть ли другие альтернативы? Любая помощь приветствуется.Альтернатива PHP включает в себя?

+2

вместо поиска альтернатив, почему бы не изменить его? сделайте его «масштабируемым», а не застрявшим в вашей ситуации поиска «обходных путей». – Joseph

+1

FYI, Server Side Includes! = PHP Включает – Phil

+0

Обычно я бы хотел, но я изначально не строил сайт и не просматривал все файлы, которые она имеет и переименовывает их, а смена ссылок - это кошмар, который не стоит моего времени. –

ответ

3

Правило .htaccess будет работать, если вы настроите 301 переадресацию, он уведомит поисковые системы о ваших изменениях и не должно быть никаких повторов seo. Это перенаправит это для вас.Другим преимуществом для seo является php, который включает серверную сторону, поэтому html будет передаваться поисковому пауку для индекса, где javascript будет выполняться после загрузки документа, а большинство пауков не будут выполнять ваш JS, просто проиндексируйте html, переданный вниз от сервера.

RewriteEngine on 
RewriteBase/
RewriteRule (.*).htm$ /$1.php [R=301,NC] 
+0

Удивительно, что это помогает много и значительно сократит время, которое потребуется, чтобы это сделать! –

1

Вы можете выполнить это с помощью javascript, создав шаблон нижнего колонтитула в отдельном html-файле, а затем динамически загрузите разметку шаблона нижнего колонтитула на каждую страницу с помощью кода javascript.

Хотя вам все равно придется изменить каждый html-файл, в который должен появиться нижний колонтитул, добавив код javascript, который добавит нижний колонтитул.

Кроме этого, нет эквивалента в html для включения или основных страниц. Это концепции на стороне сервера.

+0

ЭТО - это решение, которое я искал для ОЧЕНЬ долгого времени. Как в мире вы можете получить JavaScript для доступа к контенту из внешних HTML-документов? – chharvey

1

Используйте javascript или, желательно, jquery. С помощью этой функции вы можете просто загружать внешние файлы в div с 1 строкой. http://api.jquery.com/load/

3

Альтернативы все некрасиво:

  • вставки колонтитулов, используя плавающие фреймы
  • использовать HTML редактор, имеющий шаблон функции, как Dreamweaver
  • использовать сценарий твоего, который будет изменять все HTML-страницы, добавляющие верхние и нижние колонтитулы
  • вставки колонтитулов с использованием Javascript
  • ...

Все это очень плохо, потому что HTML-страница не имеет реального заголовка/нижнего колонтитула (iframes, javascript) или ее трудно поддерживать.

Конечно, лучший способ - упростить ведение реальных HTML-страниц. Это означает, что «изменение ссылок просто не является вариантом» в «давайте изменим расширения и ссылки». Некоторые инструменты помогут вам в этом.

+0

Как насчет написания правила .htaccess? Поэтому я меняю расширения файлов на .php, а затем пишу правило, которое указывает example.html на example.php. Будут ли какие-либо SEO-реплики от этого? –

+0

Нет репликации SEO, несколько CMS уже превращают динамическое содержимое в расширение HTML. Но в вашем случае правилу перезаписи .htaccess потребуется список ваших страниц, или ему нужно будет переписать все расширение HTML в расширение PHP, что сделает невозможным реальное расширение HTML. Это тоже ульгия. – Skrol29

+0

@ Skrol29 Меня интересуют пуля №2, шаблоны HTML-редактора ... можете ли вы объяснить эти/перенаправить меня на некоторые ресурсы? Было бы неплохо, если бы мои фрагменты были автоматически и динамически обновлены на моем локальном диске *** ПЕРЕД *** загрузкой на сервер! – chharvey

1

Я бы предложил крупный переписать, как указывали некоторые, но, учитывая вашу ситуацию, что вы не можете изменить используемую технологию, я предполагаю, что это тоже очень большой сайт, мое предложение состоит в том, чтобы использовать sed для включения кода нижнего колонтитула как вы упомянули в каждом файле HTML.

Либо это, либо добавить нижний колонтитул с помощью Javascript, что неплохо в вашей ситуации.

0

Возможно, вы можете написать сценарий, который добавит нижний колонтитул ко всем html-файлам. Таким образом, в основном просто скопируйте весь набор html-файлов в местоположение dev, а затем запустите сценарий для вывода новых файлов.

Альтернативно, копирование и вставка могут занимать меньше времени.

Возможно, Javascript проще, но не работает, когда пользователь не включил js.

0

Два способа создания клиентской стороны включают в себя: javascript и iframe. При использовании javascript поисковая система не увидит включенный текст. И элемент iframe должен иметь фиксированную ширину и высоту.

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