[КАК] Преобразовать динамические урлы в статические?

N0
На сайте с 03.11.2008
Offline
0
735

Добрый день/вечер/утро/ночь!

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

Мне необходимо получить внятный ответ, стоит ли мне запариться и перевести все динамические урлы своего сайта в статический вид?

Действительно ли есть какие то преимущества статического урла перед динамическим в яндексе или в рамблере или в гугле? В сети масса статей на тему RewriteEngine on но они датированны 2003 - 2005 годом. Какова ситуация сейчас?

В любом случае, в .htaccess я пишу вот такой скрипт:


AddHandler application/x-httpd-php phtml htm html
DirectoryIndex index.html

RewriteEngine on
RewriteBase /
RewriteRule ^([a-z]+)$ ?id=$1

урл моего сайта в динамическом виде выглядит так:

http://mysite.com/?id=about

а хочется вот так:

http://mysite.com/about/

мой сайт устроен так:

существует страница index.html в которую передается этот параметр id (см. 2 строчку в .htaccess), и в зависимости от которого формируется область контента, делается инклуд соответствующей html-страницы. Например в случае http://mysite.com/?id=about в область контента инклудится страница about.html, которая находится в корне сервера).

Подход, я думаю, распространенный :) хотя и не уверен.

проблема:

урл http://mysite.com/about выводит просто about.html

без стилей, без шапки сайта, меню, футера.

как обойти проблему не знаю, буду рад любой подсказке.

artscripts
На сайте с 24.09.2008
Offline
152
#1

Попробуйте так

RewriteRule ^([a-z]+)-([a-z]+)-([0-9a-z_]*)-?(.*)$ $1-$4?$2=$3 [NC,QSA]

RewriteRule ^([a-z]+)-?\.html$ $1.php [NC,L,QSA Хотя в сети множество информации по поводу mod_rewrite. Поищите, на многих сервисах все расписанно.

https://soundmain.ru - библиотека звукорежиссера и любителя
Shtogrin
На сайте с 02.11.2006
Offline
95
#2

artscripts, вы хоть понимаете что делают эти правила? Или это работа сервера?

nik0lay, при такой адресации http://mysite.com/about/ вам надо не только добавить одно правило и поменять ссылки, но сделать все картинки и стили с абсолютными путями (или добавить <base>).

Ваши правила должны работать для http://mysite.com/about (без слэша в конце).

Возможно проблема в скрипте index.html . Можете проверить, например,

<?php

echo "<pre>";
var_dump($_GET);
echo "</pre>";
?>

у вас должен быть id=about

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
N0
На сайте с 03.11.2008
Offline
0
#3

судя по всему, заморачиваться с переменой путей все-таки стоит...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий