Создайте файл Sitemap, но веб-страницы не используют ссылки - PullRequest
0 голосов
/ 18 мая 2010

Люди, я пытаюсь создать карту сайта (она нам очень нужна) для огромного многостраничного веб-приложения. Технически это не намного больше, чем набор веб-форм 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 ]

2 голосов
/ 18 мая 2010

Вы можете использовать рекурсивный итератор каталогов , чтобы получить список всех страниц вашего сайта.

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

Изменить: Ваш вопрос очень запутанный, я удалю этот ответ, если я неправильно понял ваш вопрос.

0 голосов
/ 01 февраля 2011

Я укажу вам мой ответ в другом месте:

Связывание визуальной карты сайта с веб-приложением

0 голосов
/ 18 мая 2010

Итак, как кто-то с отключенным JavaScript в своем браузере может перемещаться по вашему сайту? Отсутствие регулярных якорных тегов для ссылки на страницы - очень плохой способ работы. Я бы, наверное, использовал что-то вроде

grep -ri /location\.href='[^']/ . > links

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

0 голосов
/ 18 мая 2010

Моя рекомендация - исправить код. Вы можете создать php-скрипт, который может заменить этот код на

<td width="100" align="center" ONMOUSEOVER="this.className='bgover'" ONMOUSEOUT="this.className='bgout'"><a href="../main.php">Main Page</a></td>

Если это не вариант, вы можете написать скрипт, который просматривает всю структуру папок сайта и создает карту сайта из всех файлов. В зависимости от структуры вашей папки это может быть довольно просто.

...