htaccess rewrite уровни
Добрый день.
Есть урл вида 1) example.com/example/page_N 2) example.com/example/example/index.php (example.com/example/example/) Как правильно прописать рэврайт, чтобы открывать урл на уровень ниже 1) example.com/page_N 2) example.com/example/index.php (example.com/example/) Спасибо. |
Поскольку раздел Серверные языки и технологии, предложу такой вариант... :)
n s url="example.com/example/page_N" w !,$$short(url) s url="example.com/example/example/index.php" w !,$$short(url) q /// Укоротить URL short(Url) n words,wrd1,wrd2 s words=$l(url,"/") s wrd1=$p(url,"/",1,words-2) s wrd2=$p(url,"/",words) q wrd1_"/"_wrd2 Вот что выводит d ^tmp example.com/page_N example.com/example/index.php |
Хочется обойтись средствами апач, получилось вот так
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+) $1 [L,QSA] RewriteCond %{DOCUMENT_ROOT}/example%{REQUEST_URI} -f RewriteRule ^(.+) example/$1 [L] RewriteRule ^(.*) example/$1 [L] Но не работает с правилом 2) example.com/example/example/index.php (example.com/example/example/) 2) example.com/example/index.php (example.com/example/) Воспринимает как начальное состояние 1) урл. Как исправить? |
Часовой пояс GMT +3, время: 14:31. |