Как сократить url в htaccess

kvins
На сайте с 23.08.2011
Offline
95
6975

Мне нужно сделать чтобы вместо такого

в

и так же в других ссылках чтобы убрать окончание .php и название переменной ?id= или ?tut=

Магазин уникальных статей. (http://linkum.ru/to/13254/)
V
На сайте с 07.03.2007
Offline
84
#1

RewriteEngine on

RewriteBase /

RewriteRule ^(\w+)/(.*)$ $1.php=$2 [L]

как-то так помоему

siv1987
На сайте с 02.04.2009
Offline
427
#2

RewriteEngine On

RewriteRule ^newthread/newthread /newthread.php?do=newthread [L]

kvins
На сайте с 23.08.2011
Offline
95
#3

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

Во втором варианте даже еслиб и заработал , то пришлось бы ставить кучу редиректов , так как это должно касатся всех страниц

G
На сайте с 16.07.2012
Offline
2
#4

напиши так

DirectoryIndex index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L]

всё что не существует будет ссылаться на index файл а там split() всей строки.

так проще чем создавать файлы ещё отдельные

то есть делаешь index.php а в отдельную папку кидаешь всяческие подгружаемые коды. в index разбираешь строку и подгружаешь всё что надо

---------- Добавлено 05.08.2012 в 01:56 ----------

и уж точно не придётся ничего дописывать под каждый файл, только если в index прописывать условия на каждый результат, что даёт тебе возможность админить всё через 1 файл

kvins
На сайте с 23.08.2011
Offline
95
#5
Godrik:
напиши так


всё что не существует будет ссылаться на index файл а там split() всей строки.
так проще чем создавать файлы ещё отдельные

Уже все страницы созданы , не буду же я весь сайт переделывать из за этого , и кажется меня плохо поняли , опишу еще раз

К примеру вот пару ссылок

_site.ru/catalog/catalog.php?cat=animals

_site.ru/catalog/catalog.php?cat=people

Также и на других страницах

_site.ru/catalog/tovar.php?tovar=monkey

Как мне скрыть в адресной строке название страницы и название категории , чтобы пользователь видел такое

_site.ru/catalog/animals

_site.ru/catalog/people

_site.ru/catalog/monkey

ну например как на этом сайте

www.dostavka2u.ru/catalog/sendvichi/sendvich_s_kuritsey/

Полюбому там передается параметр , но его в адресной строке не видно

G
На сайте с 16.07.2012
Offline
2
#6

ну надо было об этом думать до вёрстки))

попробуй это

RewriteRule ^/catalog/([^/]+)/.*$ catalog/catalog.php?(.*)=$1 [L]

E
На сайте с 06.07.2011
Offline
38
#7
kvins:
Как мне скрыть в адресной строке название страницы и название категории , чтобы пользователь видел такое

_site.ru/catalog/animals
_site.ru/catalog/people
_site.ru/catalog/monkey

Конкретно для примеров такого типа вам правильно написал Godrik, НО в этом случае вам нужно будет уже в КОДЕ СКРИПТА тогда иметь таблицу распределения по скриптам-обработчикам в зависимости от значения параметра, т.к. вы хотите передать скрипту значения и animals, и people, и monkey, но ведь если посмотреть на первоначальный запрос url - первые два значения обрабатываются скриптом catalog.php, а третий (monkeys) скриптом tovar.php

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

magistrat
На сайте с 02.06.2012
Offline
43
#8
kvins:

www.dostavka2u.ru/catalog/sendvichi/sendvich_s_kuritsey/
Полюбому там передается параметр , но его в адресной строке не видно

Потому что там ссылка (фактически) имеет именно такой вид который Вы и представили, а дальше, при переходе по этой ссылке, идет преобразование с помощью RewriteRule

kvins:
Уже все страницы созданы , не буду же я весь сайт переделывать из за этого , и кажется меня плохо поняли , опишу еще раз
К примеру вот пару ссылок

_site.ru/catalog/catalog.php?cat=animals

_site.ru/catalog/catalog.php?cat=people

Также и на других страницах

_site.ru/catalog/tovar.php?tovar=monkey

Как мне скрыть в адресной строке название страницы и название категории , чтобы пользователь видел такое

_site.ru/catalog/animals
_site.ru/catalog/people
_site.ru/catalog/monkey

ну например как на этом сайте

Скрыть его не получится, если сама ссылка представлена в виде _site.ru/catalog/catalog.php?cat=people т.е. она уже сама по себе передаст методом GET что либо...

Тут нужно сами ссылки привести к виду ЧПУ а дальше преобразовать ее...

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

Если допустить что Вы уже имеете фактически ссылки вашего сайта в виде

_site.ru/catalog/people

_site.ru/catalog/monkey

то преобразование (именно по этому примеру) будет выглядеть примерно так -

RewriteRule ^catalog/([a-z]+)/$ /catalog/tovar.php?tovar=$1

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