Футбол
-вратарь
-гол
-оффсайд
Бокс
-Тайсон
...
и т.д. и т.п.
Так вот, естественно названия категорий и сами статьи содержаться в БД, вопрос, как к этому всему приделать скелет? Т.е. чтобы ссылки нормально выглядели напр. mysite.loc/football/goalkeeper.html или mysite.loc/box/tayson.html, а если зайти просто на mysite.loc/football то все статьи будут отображться, надеюсь меня поймут, ясное дело что это регулярками в mod_rewrite делается, но хочется явный пример увидеть, может есть какая-нть статья, котороая мне поможет в этом разобраться, или живой пример?
Массивы тоже подойдут вместо БД.
Спустя 10 минут, 26 секунд (22.07.2012 - 11:05) pak написал(а):
вот несколько статей:
http://habik.net/kak-sdelat-chpu-dlya-sajta-na-php/
http://js-php.ru/web-development/apache-mo...rite-php-mysql/
http://phpmetki.blogspot.com/2011/02/htaccess.html
А вот Mod Rewrite Generator, с помощью него легко сделаете ссылки как вам надоооо))
http://habik.net/kak-sdelat-chpu-dlya-sajta-na-php/
http://js-php.ru/web-development/apache-mo...rite-php-mysql/
http://phpmetki.blogspot.com/2011/02/htaccess.html
А вот Mod Rewrite Generator, с помощью него легко сделаете ссылки как вам надоооо))
Спустя 4 минуты, 49 секунд (22.07.2012 - 11:09) Stasonix написал(а):
Это все только ЧПУ, я хотел бы на сам скелет посмотреть, поэтому и спрашиваю. Лучше даже архив с примером или код такого сайта в очень очень урезанном виде сюда можно? А потом подискутируем, если будет о чем. Я как-то пытался сделать через ЧПУ, но сайт стал так долго загружаться что я выкинул эту идею.
Начало начал, каким-то образом (не важно как) вывел названия категорий на главной:
Дальше-то так?
Начало начал, каким-то образом (не важно как) вывел названия категорий на главной:
<?php
$cats = array("Football","Box","Hockey");
foreach ($cats as $title) {
echo "<li><a href='http://mysite.loc/".$title."'>".$title."</a></li>";
}
?>
Дальше-то так?
Спустя 20 минут, 55 секунд (22.07.2012 - 11:30) pak написал(а):
дальше в файл htaccess пишем что типо этого
и принимаем данные:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)$ /?cat=$1 [L]
и принимаем данные:
echo $_GET['cat'].'<br />';
print_r($_GET);
// и не забывает проверять гет
Спустя 16 минут, 27 секунд (22.07.2012 - 11:47) Stasonix написал(а):
итого у меня вышло два файла пока: вот их исходники как есть:
index.php
и .htaccess:
У вас это срабатывает?
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>mysite.loc</title>
</head>
<body>
<p>Список категорий</p>
<ul>
<?php
$cats = array("Football","Box","Hockey");
foreach ($cats as $title) {
echo "<li><a href='http://mysite.loc/".$title."'>".$title."</a></li>";
}
?>
</ul>
<?php
if (isset($_GET['cat']))
{
echo "<p>Список статьей</p>";
echo " [ ". $_GET['cat']. " ] -> <a href='http://mysite.loc/".$_GET['cat']."/goal.html'>goal</a>";
}
?>
</body>
</html>
и .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)$ /?cat=$1 [L]
У вас это срабатывает?
Спустя 5 минут, 9 секунд (22.07.2012 - 11:52) pak написал(а):
да.
Спустя 7 минут, 53 секунды (22.07.2012 - 12:00) Guest написал(а):
О класс! А дальше как? Если я goal нажму, хочу статью полностью про гол увидеть?
Спустя 1 минута, 3 секунды (22.07.2012 - 12:01) Stasonix написал(а):
Не заметил что под гостем был. sorry
Спустя 53 минуты, 29 секунд (22.07.2012 - 12:54) Stasonix написал(а):
я так понял тупик?
Спустя 6 минут, 48 секунд (22.07.2012 - 13:01) pak написал(а):
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)/([a-zA-Z]*)\.html$ /?cat=$1&page=$2 [QSA,L]
Спустя 2 минуты, 54 секунды (22.07.2012 - 13:04) Stasonix написал(а):
это в дополнение к тому что есть уже или вместо того что есть?
Спустя 16 минут, 2 секунды (22.07.2012 - 13:20) Stasonix написал(а):
Глупый вопрос наверно был. В итоге у меня получилось:
index.php
.htaccess
В принципе все так и задумывалось, спасибо!
index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>mysite.loc</title>
</head>
<body>
<p>Список категорий</p>
<ul>
<?php
$cats = array("Football","Box","Hockey");
foreach ($cats as $title) {
echo "<li><a href='http://mysite.loc/".$title."'>".$title."</a></li>";
}
?>
</ul>
<?php
if (isset($_GET['cat']))
{
echo "<p>Список статьей</p>";
echo " [ ". $_GET['cat']. " ] -> <a href='http://mysite.loc/football/goal.html'>goal</a>";
}
?>
<?php
if (isset($_GET['page']))
{
echo "<p>Содержание статьи <b>".$_GET['cat']."</b> -> ".$_GET['page']."</p>";
}
?>
</body>
</html>
.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]*)$ /?cat=$1 [L]
RewriteRule ^([a-zA-Z]*)/([a-zA-Z]*)\.html$ /?cat=$1&page=$2 [QSA,L]
В принципе все так и задумывалось, спасибо!