Оптимізація URL-адрес

Одразу після установки SPIP сторінки, які він створює, мають відносні адреси у вигляді spip.php?article765, які в URLS виглядають як http://www.spip.net/spip.php?article765.

Існує можливість мати адреси більш промовисті, наприклад замість article123.html використовувати заголовок статті Title-of-the-article.html, і SPIP допоможе вам вирішити це завдання.

Ця функціональність вимагає розуміння різниці між двома типами URL:

-  видимий URL сторінки - те, що ви ввели в адресний рядок вашого браузера або те, що там відображається. Наприклад для сторінки, яку ви зараз читаєте, це http://www.spip.net/uk_article5827.html. Саме такі URL-адреси люди часто хочуть зробити більш «красивими» або «значущими»;

-  справжній URL сторінки - той URL, який «бачить» SPIP, коли сторінка розраховується на сервері. Наприклад, для цієї сторінки: http://www.spip.net/article.php?id_article=5827. Звичайно, таку адресу теж можна ввести безпосередньо в браузері (і ви можете переконатися в цьому).

Вибір форми видимих URL

В файлі ecrire/mes_options.php [1] (створіть цей файл, якщо його немає) ви можете оголосити змінну PHP, що містить тип URL, який належить використовувати. За відсутності такого явного оператора, SPIP буде використовувати:

$type_urls = "page";

Змінна $type_urls визначає PHP файл, який викликається під час генерації URL. З декларації за замовчуванням вище, ім’я такого PHP файлу - це перший знайдений urls/page.php на SPIP_PATH.

SPIP також пропонує інші потенційні імена PHP, а саме urls/standard.php, urls/html.php, urls/propres.php, urls/propres-qs.php та urls/propres2.php в директорії ecrire/

-  файл urls/html.php дозволяє використовувати адреси «article123.html». Ви можете вирішити використовувати ці URL «html»-вигляду, додавши до файлу ecrire/mes_options.php рядок:
$type_urls = "html";

-  файл urls/propres.php дозволяє використовувати адреси, подібні до «Title-of-the-article». Для цього вставте:
$type_urls = "propres";

-  файл urls/propres2.php створює варіацію попередніх формі, і в результаті адреси будуть «Titre-of-the-article.html». Для цього вставте:
$type_urls = "propres2";

-  файл urls/propres-qs.php є подібною варіацією з результатом «./?Title-of-the-article». Для цього вставте:
$type_urls = "propres-qs";. Це корисно, якщо ваш хостинг-сервер не дозволяють використовувати Apache URL rewriting module (cf. mod_rewrite)

-  нарешті, файл urls/standard.php дозволяє генерувати ностальгічні адреси, подібні до тих, які створювали попередні версії SPIP: «article.php3?id_article=3588»). Для цього вставте:
$type_urls = "standard";

Якщо ви хочете використовувати свої власні адреси (для цього ви маєте знати, як програмувати на PHP), то настійно рекомендується використовувати один з цих файлів як базу і скопіювати його як файл для подальшого використання, надавши копії ім’я виду: urls/XXX.php. Наприклад, дуже легко змінити функцію _generer_url_propre() в urls/propres.php, щоб отримати деякі дуже цікаві варіанти; ми будемо вдячні, якщо ви поділитеся ними через SPIP Contrib’ site.

Програмування перекладу видимих адрес в реальні адреси

Отже адреса article123.html насправді викликає PHP spip.php файл з параметром id_article=123, необхідно налаштувати веб-сервер, на якому розміщується Ваш сайт, через .htaccess файл (що не завжди можливо), або шляхом редагування центрального файлу конфігурації сервера, якщо ви маєте доступ до нього. Цей засіб використовує на серверах Apache (найбільш поширених) і він відомий як Rewrite Rules: правила перезапису веб-адрес.

Знання, як писати ці правила, не проста справа для не-програмістів, і ми не можемо дати вам гарантій, як це буде працювати, тому що багато залежить від вашої конфігурації: цей компонент знаходиться повністю в ваших руках і під вашою відповідальностю (або вашого хостинг-провайдера).

Тим не менше, від SPIP 1.8 поставляється з файлом htaccess.txt як прикладом, який працює з більшістю серверних хостів для типів URL, зазначених вище (як «стандартний», «HTML», «propres» і «propres2»). Для активації необхідно переписати цей файл в кореневий каталог сайту, перейменувавши його в <код> .htaccess . Настійно рекомендується відкрити цей файл в першу чергу і перевірити певні елементи конфігурації.

Потім ви повинні перевірити правильність нової адреси, натиснувши посилання «Дивитися он-лайн» для сторінки статті, автора, новини, рубрики і т.д.

Створення явних адрес на SPIP-сторінках

Аби відображати адреси за схемою, яку ви вибрали, ваші шаблони повинні використовувати наступні теги: #URL_ARTICLE, #URL_RUBRIQUE, #URL_BREVE, тощо.

Перехід від одного типу URL до іншого

Від SPIP 1.8 все підготовано таким чином, щоб перехід від одного типу адрес до іншого виконувався просто: встановлюйте htaccess.txt файл і просто перемикайте між «standard» адресами та «propres2» або «html» адресами та навпаки, не провокуючи помилки 404 для відвідувачів сайту (або для пошукових систем), які запам’ятали, проіндексували або зробили закладинки на попередні адреси.

Наостанок зауважимо, якщо ви оберете «propres» або «propres2» адреси, відвідувачі сторінок, які мають попередній тип адреси (стандартний або HTML), автоматично перенаправляються на нову адресу.

Примітки

[1Примітка: попередні версії SPIP включали файл inc-urls.php3 у кореневому каталозі сайту, якщо він був реалізований; цей метод досі діє, але вважається застарілим...

Автор olly Publié le : Mis à jour : 17/07/24

Traductions : عربي, català, English, Español, français, italiano, Nederlands, Português, slovenčina, українська