Вы не зашли.
Главная » PHP » mod rewrite , .htaccess
#1. nexus Off (2)
Участник
2013.06.16 07:07
Здрасте ребят!
Помогите решить проблемку, туплю уже два дня ..
Хочу сделать чтобы ссылки на сайте имели такой вид httрhmm/site.ru/nexus для анкет и такие для статей http://site.ru/vse-obo-vsem/
Вот код .htaccess
Код:
# этот код для папок.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php?path=$1 [L,QSA]
Код работает норм. Но как сделать чтобы еще и в профили пользователей были такие же ссылки. Я пробовал перечислять эти же условия, ниже этого кода, вот так
Код:
# этот код для анкет. profile.php?id=nexus
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) profile.php?id=$1 [L,QSA]
Но работает только либо анкеты либо папки. Ну конечно в данном примере работает только анкеты..
Вот как это объединить не могу вкурить ( я нуб в .htaccess. возможно поможет флаг [OR], но куда его вставлять не знаю ( помогите пожалуйста :-)
Кстати раздела на этом форуме посвященному этому ЯП нет
Отредактировано nexus (2013.06.16 07:07)
#2. Gemorroj Off (107)
Administrator
2013.06.16 09:09
а никак не сделать. выноси статьи в отдельную папку например. иначе просто не понятно перенаправлять на профиль или статью
#3. nexus Off (2)
Участник
2013.06.16 09:09
Gemorroj и все же это как то можно сделать.. Тот же вконтактик, группы и профили. У дурова спросить чтоли big_smile
#4. Gemorroj Off (107)
Administrator
2013.06.16 09:09
там 1 страница значит, и названия уникальны
#5. nexus Off (2)
Участник
2013.06.16 11:11
дак хоть и 1 файл как условие написать (
#6. Gemorroj Off (107)
Administrator
2013.06.16 12:12
Код:
span style="color: #0000BB"><?php$db = new PDO('');$qUsers = $db->prepare('SELECT COUNT(1) FROM users WHERE login = ?');$qPosts = $db->prepare('SELECT COUNT(1) FROM posts WHERE subject = ?');if ($qUsers->execute(array($_GET['name'])) && $qUsers->fetchColumn() > 0) { // это пользоватли include 'tpl_for_users.php';} elseif ($qPosts->execute(array($_GET['name'])) && $qPosts->fetchColumn() > 0) { // это статьи include 'tpl_for_posts.php';} else { // это хз что include 'tpl_for_error.php';}
#7. nexus Off (2)
Участник
2013.06.16 15:03
Gemorroj не знаю PDO smile Но за идею спасибо, всё же просто!

$path = ($_GET['path'])? trim($_GET['path']) : '';
$qUsers = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `login` = '".mysql_real_escape_string($path)."' LIMIT 1"));
if($qUsers !== false && $path)
include'profile.php';
else
include'files.php';
#8. nexus Off (2)
Участник
2013.06.17 12:12
Gemorroj, кстати, не по теме.. интересно прост
SELECT COUNT(*) - зацепить всё что можно а SELECT COUNT(1) это что делает? smile
#9. Gemorroj Off (107)
Administrator
2013.06.17 12:12
то же самое.
на сколько я помню, в innodb не хранилась метаинформация по кол-ву записей и он ее пересчитывал выбирая указанные поля (* - все), соответственно 1 - никаких данных трогать не надо. вероятно в новых версиях mysql это уже исправили, но хз.
#10. nexus Off (2)
Участник
2013.06.17 12:12
спасибо smile
Страниц: 1
Главная
WEB
PunBB Mod v0.6.2
0.025 s