1

Тема: Як зробити friendly URL?

Зараз займаюся створенняv friendly URL для свого сайту. Тобто, щоб на сайті було не site.ua/article.php?id=10, а site.ua/article/10.
Знайшов відео на YouTube, де розповідається про зміну файлу .htaccess:

RewriteEngine On
RewriteRule ^article/([0-9]+) article.php?id=$1

Все працює ідеально. Але наскільки я зрозумів браузер думає, що знаходиться у директорії article, бо усі посилання збилися. Наприклад, стилі, посилання на головну сторінку яке було так: index.php. Перед усім треба ставити конструкцію ../, а це не дуже зручно, так як, наприклад, та ж шапка сайту(у якій це посилання) підключається окремим файлом:

<?php 
    include "blocks/header.php"; 
?>

І зміна буде на усьому сайті. Можете підказати як правильно зробити? Або може я просто не той спосіб вибрав, або не до кінця зрозумів як користуватися цим. Буду дуже вдячний допомозі.  :)

Подякували: koala1

2 Востаннє редагувалося Monolith (14.08.2016 16:40:22)

Re: Як зробити friendly URL?

Вирішив почитати коментарі, і знайшов відгук Пана Andy Beckmann:

Here's an example, you can probably just use this code and switch up the paths:

define("ROOT", _DIR_ ."/");

 define("HTTP", ($_SERVER["SERVER_NAME"] == "localhost")

  // Local root
     ? "http://localhost/project-root/"

     // Remote root
     : "http://www.mysite.com/"

 );

Then in the html where you are calling the css and js from use

<?php print HTTP; ?>

Не зовсім до кінця зрозумів, але найголовніше постає питання чи працює цей метод та чи взагалі доцільно використовувати такий спосіб створення friendly URL?

3

Re: Як зробити friendly URL?

misha_bondar_2012 написав:

Зараз займаюся створенняv friendly URL для свого сайту. Тобто, щоб на сайті було не site.ua/article.php?id=10, а site.ua/article/10.
Знайшов відео на YouTube, де розповідається про зміну файлу .htaccess:

RewriteEngine On
RewriteRule ^article/([0-9]+) article.php?id=$1

Все працює ідеально. Але наскільки я зрозумів браузер думає, що знаходиться у директорії article, бо усі посилання збилися. Наприклад, стилі, посилання на головну сторінку яке було так: index.php. Перед усім треба ставити конструкцію ../, а це не дуже зручно, так як, наприклад, та ж шапка сайту(у якій це посилання) підключається окремим файлом:

<?php 
    include "blocks/header.php"; 
?>

І зміна буде на усьому сайті. Можете підказати як правильно зробити? Або може я просто не той спосіб вибрав, або не до кінця зрозумів як користуватися цим. Буду дуже вдячний допомозі.  :)

Фреймворк з url шаблонізатором саме те.

4

Re: Як зробити friendly URL?

misha_bondar_2012, а навіщо вигадувати велосипед? Готових CMS будь-якого рівня складності вже... вагон та ще кілька локомотивів, та ще візочки з-під руди - і усього цього добра повен Київ-Пас

5

Re: Як зробити friendly URL?

Lordie написав:

misha_bondar_2012, а навіщо вигадувати велосипед? Готових CMS будь-якого рівня складності вже... вагон та ще кілька локомотивів, та ще візочки з-під руди - і усього цього добра повен Київ-Пас

Для досвіду. І самому цікаво зрозуміти як це все реалізовано.  :[

6

Re: Як зробити friendly URL?

misha_bondar_2012 написав:
Lordie написав:

misha_bondar_2012, а навіщо вигадувати велосипед? Готових CMS будь-якого рівня складності вже... вагон та ще кілька локомотивів, та ще візочки з-під руди - і усього цього добра повен Київ-Пас

Для досвіду. І самому цікаво зрозуміти як це все реалізовано.  :[

Чукча не чітатєль, чукча - пісатєль?)

7

Re: Як зробити friendly URL?

Lordie написав:

Чукча не чітатєль, чукча - пісатєль?)

*DONT_KNOW*

8

Re: Як зробити friendly URL?

Щоб не вносити зміни в усі відносні гіперпосилання, можна використати <base>

9

Re: Як зробити friendly URL?

>> Щоб не вносити зміни в усі відносні гіперпосилання, можна використати <base>

Завчасно попереджу, що чрєвато некоректною роботою лінків виду '#anchor'... не одразу доходить