Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Помогите с регуляркой для RewriteRule

#1 Вячеслав

Вячеслав
  • Пользователь
  • 357 сообщений
  • Репутация: 0
0

Отправлено 10 Апрель 2013 - 19:35

Все привет!
Помогите разобратся, почему не отрабатывает перенаправление в .htaccess
Есть неправильные ссылки которые видны в выдаче яндекса:

www.site.ru/home2/manufacturers/2013-02-11-06-46-341526235832/details.html

из этой ссылки нужно получить "2013-02-11-06-46-341526235832" и перенаправить вот на этот адрес, с использоыванием полученного значения:

www.site.ru/component/virtuemart/manufacturer/2013-02-11-06-46-341526235832.html

В .htaccess пишу вот так:

RewriteEngine On
RewriteRule ^home2/manufacturers/([0-9-]+)/details.html$ /component/virtuemart/manufacturer/$1.html

Но блин не срабатывает почему то...

Система Joomla 2.5

 

 

  • 0

#2 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 10 Апрель 2013 - 20:44

Пропиши RewriteBase /
А в конец строки попробуй еще добавить [L]
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#3 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 11 Апрель 2013 - 01:22

Не помогает, вот так в .htaccess

RewriteEngine On
## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*([^)]*) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.
## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects
##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##
# RewriteBase /
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
RewriteBase /
RewriteRule ^home2/manufacturers/([0-9-]+)/details.html$ /component/virtuemart/manufacturer/$1.html [L]

  • 0

#4 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 11 Апрель 2013 - 03:06

Получилось вот так!

RewriteEngine On
RedirectMatch /home2/manufacturers/([0-9-]+)/details.html$ /component/virtuemart/manufacturer/$1.html

Всем спасибо, задача решена!
  • 0

#5 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 11 Апрель 2013 - 09:14

Я понял почему не получилось с предыдущим вариантом.
Там не надо экранировать слэши.
RewriteRule ^home2/manufacturers/([0-9-]+)/details.html$ /component/virtuemart/manufacturer/$1.html [L]
Вот и вся проблема. Я посмотрел как у меня сделано :)
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.



Оформление форума – IPBSkins.ru