У меня в данный момент на сайте такие ссылки: http://musite.ru/news.php?id=936 Хотелось бы получить такую ссылку в адресной строке: http://musite.ru/news/936/ В htaccess прописал: Код (Text): RewriteEngine on RewriteBase / RewriteRule ^news/([0-9]+)/? news.php?id=$1 [L] И ничего не происходит. В чем ошибка?
Если перехожу по ссылке http://musite.ru/news/936/ то все норм перекидывает куда надо, но как сденлать так, чтобы в списке новостей, адреса ссылок тоже были ЧПУ. Они у меня в таком виде: http://musite.ru/news.php?id=936, но если вручную вбить ссылку ЧПУ то переходит норм. Никак не могу сдлеать чтобы ссылки и выглядели как ЧПУ.
Ссылки формируются в index.php: PHP: <?php $post = mysql_query ("SELECT *, DATE_FORMAT(date,'%d.%m.%Y %H:%i') AS date FROM news WHERE kat_news<5 ORDER BY id DESC LIMIT 5",$db); while ($posts = mysql_fetch_array ($post)) { ?> <a href='news.php?id=<?php echo $posts ['id']?>'><?php echo $posts ['title'] ?></a> <?php } ?> Вот так формируются.
и в чём проблема переделать на PHP: <a href='news/<?php echo $posts['id']; ?>/'><?php echo $posts['title']; ?></a> ?
Есть 2 ссылки: http://test.off/pesni/349 http://test.off/autors/1 В .hnaccess такое: AddDefaultCharset windows-1251 RewriteEngine on RewriteRule ^pesni/([0-9]+)$ pesni.php?autor=$1 RewriteRule ^autors/([0-9]+)$ autors.php?bukva=$1 Первая ссылка http://test.off/pesni/349 норм работает, а вторая не хочет. Невозможно отобразить страницу, хотя в таком виде: http://test.off/autors.php?bukva=1 работает норм.
посмотри в сторону ключей, попробуй поставить ключ [L] в конце каждой строки (точно не помню, гуглить лень)
мне почему то тоже в первый день знакомства с ЧПУ казалось, что если я подправлю в htaccess то на сайте ссылки подправятся по правилам mod_rewrite перенаправлять запросы похожие на /news/123/ туда куда тебе надо, т.е. news.php?=123
Это у меня получилось. Но теперь хочу сделать ссылку в транслите: Была такая ссылка: pesni_text.php?pesni=1, где 1 - это id песни. А хочу сделать такую: pesni_text/nazvaniepesni В htaccess написал такое правило: Код (Text): RewriteRule ^pesni_text/([a-z0-9]+)$ pesni_text.php?pesni=$1 В файле ссылки прописал так: HTML: <a href="/pesni_text/<?php echo $pesni['link'];?>"> <?php echo $pesni['title_pesni'];?> </a> где $pesni['link'] - в БД есть поле, где храню транслит названия песни. Сервер выдает ошибку: Not Found The requested URL /pesni_text/aria_ivana was not found on this server.
greenzlat чел, ты вот это все мутишь, а проще жить с $_SERVER['REQUEST_URI'] и все запросы любые направлять на index.php