Сокращение вида URL в htaccess

exarh
На сайте с 28.03.2010
Offline
503
633

Достался сайтег, в нем замутили у некоторых новостей большую вложенность вида

http://site.ru/папка1/папка2/папка3/index.html

у папка - все разные название , типа catlogue, main, katalog и так далее.

Хотелось бы укоротить все это дело до вида http://site.ru/папка/index.html или вида http://site.ru/?do=index.html регулярным выражением в htaccess

Напишите кто знает такое выражение,

Монетизируй (https://publishers.propellerads.com/#/pub/auth/signUp?ref_id=tnE) свой сайт с выгодой
H
На сайте с 29.05.2012
Offline
14
#1

RewriteEngine On
RewriteRule ^([^.]+)/([^.]+.html)?$ index.php?do=$2 [L]

Вроде так.

Разработка приложений для Android (/ru/forum/778835)
izbushka
На сайте с 08.06.2007
Offline
110
#2

Мне кажется вы не совсем понимаете что такое htaccess и mod_rewrite в частности. Он всего лишь преобразует адрес (а точнее путь к файлу) введенный пользователем по указанным вами правилам. И далее новый адрес обрабатывается точно так же, как если бы он был сразу введен пользователем.

Соответсвенно ни о какой структуре каталогов htaccess знать в принципе не может. Вы доллжны ему сами об этом рассказать.

Поэтому ваша задача:

exarh:
все разные название , типа catlogue, main, katalog и так далее.

не выполнима без знания всех "и так далее" и точного порядка их следования.

После этого можно проанализировать логику вашей структуры и описать ее, если это будет возможно, каким-то регулярным выражением.

Либо второй вариант:

exarh:
или вида http://site.ru/?do=index.html

В этом случае часть этой работы должен взять на себя этот самый скрипт (index.php надо полагать), которому, опять же, вы сами должны рассказать о всей структуре ваших каталогов.

Советую почитать про mod_rewrite более детально

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