VANHALEN
Новичок
Я очень очень очень прошу вашей помощи. Как то особенно не доводилось этим заниматься, а вот приспичило.
Понадёргал у других и переделал под себя, а у самого умишка не хватает правильно доделать. Может я и вообще не тем путём пошёл, но что сделано - то сделано. Доделывать надо аз ис, иначе - жопа.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^admin/$ /admin/index.php [L]
# Собственно правила
RewriteRule ^([A-Za-z0-9-]+)/?$ ?page=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ ?section=$1&page=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ ?section=$1&page=$2&article=$3 [L]
Поясню..
- section - раздел (он может быть и не указан, тогда работает первая строка)
- page - либо алиас простой страницы, либо алиас категории
- article - алиас статьи, материала...
/akvariumy/statji/satya-pro-akvariumy-2 - вплоть до этого всё работает
Но вот незадача... Статьи разбиты на страницы, номер которых передаётся тоже в гете. Номера страницы может и не быть.. Но это не самое страшное. Выбирая статью, я сразу же могу передать номер страницы, чтобы оно было. Самое страшное то, что может не быть алиаса статьи. Тоесть человек зашёл в раздел, никакой статьи не выбрал, а сразу промотал к списку страниц и наэал на страницу 2 например.
Получилось /akvariumy/statji/2
Тупая машина ищет в разделе аквариумы, в подразделе статьи, стать с алиасом 2.
Возможно я даже подскажу решение (не знаю будет ли работать), но написать сам не смогу.
Если на третьем месте в гете стоит переменная, состоящая только из цифр, в колличестве (к примеру не больше трёх) -присвоить ей имя str, если нет, третьей считать article.
Может найдётся кто, кому это как два пальца об асфальт? в будущем торжественно клянусь учить регулярные выражения.. А пока..
Понадёргал у других и переделал под себя, а у самого умишка не хватает правильно доделать. Может я и вообще не тем путём пошёл, но что сделано - то сделано. Доделывать надо аз ис, иначе - жопа.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^admin/$ /admin/index.php [L]
# Собственно правила
RewriteRule ^([A-Za-z0-9-]+)/?$ ?page=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ ?section=$1&page=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ ?section=$1&page=$2&article=$3 [L]
Поясню..
- section - раздел (он может быть и не указан, тогда работает первая строка)
- page - либо алиас простой страницы, либо алиас категории
- article - алиас статьи, материала...
/akvariumy/statji/satya-pro-akvariumy-2 - вплоть до этого всё работает
Но вот незадача... Статьи разбиты на страницы, номер которых передаётся тоже в гете. Номера страницы может и не быть.. Но это не самое страшное. Выбирая статью, я сразу же могу передать номер страницы, чтобы оно было. Самое страшное то, что может не быть алиаса статьи. Тоесть человек зашёл в раздел, никакой статьи не выбрал, а сразу промотал к списку страниц и наэал на страницу 2 например.
Получилось /akvariumy/statji/2
Тупая машина ищет в разделе аквариумы, в подразделе статьи, стать с алиасом 2.
Возможно я даже подскажу решение (не знаю будет ли работать), но написать сам не смогу.
Если на третьем месте в гете стоит переменная, состоящая только из цифр, в колличестве (к примеру не больше трёх) -присвоить ей имя str, если нет, третьей считать article.
Может найдётся кто, кому это как два пальца об асфальт? в будущем торжественно клянусь учить регулярные выражения.. А пока..