Создайте файл Sitemap, но веб-страницы не используют ссылки
Ребята, я пытаюсь создать карту сайта (она нам очень нужна) для огромного многостраничного веб-приложения. Технически это не намного больше, чем набор веб-форм php/MySQL, которые используют javascript вместо традиционных ссылок для доступа ко многим страницам.
<td width="100" align="center" ONMOUSEOVER="this.className='bgover'" ONMOUSEOUT="this.className='bgout'" onclick="location.href='../main.php'">Main Page</td>
Выше приведен пример кода управления ссылками в настоящее время. Я знаю, что могу искать по разным страницам, почти 1000, и находить эти переменные "location.href", и это поможет мне составить карту сайта для каждого раздела. Но может быть, есть более простой способ? Мы используем Trac и SVN, так что, возможно, я поступаю неправильно? Любой совет будет принят во внимание.
4 ответа
Вы можете использовать рекурсивный итератор каталогов, чтобы получить список всех страниц вашего сайта.
Это зависит от того, хотите ли вы, чтобы каждая страница была видна внешнему миру. Если у вас есть некоторые файлы конфигурации или личные / административные файлы, я бы предложил переместить их за пределы корневого веб-каталога или поместить только общедоступные файлы в определенную папку.
Изменить: Ваш вопрос очень запутанный, я удалю этот ответ, если я неправильно понял ваш вопрос.
Я рекомендую исправить код. Вы можете создать PHP-скрипт, который может заменить этот код
<td width="100" align="center" ONMOUSEOVER="this.className='bgover'" ONMOUSEOUT="this.className='bgout'"><a href="../main.php">Main Page</a></td>
Если это не вариант, вы можете написать скрипт, который просматривает всю структуру папок сайта и создает карту сайта из всех файлов. В зависимости от структуры вашей папки это может быть довольно просто.
Итак, как кто-то с отключенным JavaScript в своем браузере может перемещаться по вашему сайту? Отсутствие регулярных якорных тегов для ссылки на страницы - очень плохой способ работы. Я бы, наверное, использовал что-то вроде
grep -ri /location\.href='[^']/ . > links
создать файл с названием links, который показывает каждую строку кода, содержащую ссылку javascript, и использовать его в качестве первого шага для создания карты сайта. Без гораздо большей информации о структуре вашей системы трудно дать больше указаний, чем это.
Я укажу вам мой ответ в другом месте: