SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Редирект според дума в урл-то

go6o78

New member
ако може малко помощ с един редирект

site.com/дума-на-кирилица-xxxxxx-още

ако я има думата "xxxxxxx" да редиректва към друга страница
обаче ако думата xxxxxx е част от по дълга дума примерно xxxxxxyyyyyy (пример - "редирект" - да редиректва само ако има "ред", а "редирект" не) да не редиректва
 
Re: Редирект според дума в урл-то

а кирилицата как да я слагам (\xD0\xBC\xD1\x83\)

и още нещо ако трявба да е като единствена дума явно трябва още един редирект
и ако няма друга след нея още веднъж ли да го напиша без последния -
RewriteRule ^(.+)\-xxxxxx\(.+) - и така ако е последна или изчезва и (.+)
RewriteRule ^(.+)\xxxxxx\(.+) и така ако е единствена

П.п
горе долу ги нацелих
но дали е така
RewriteRule ^(.+)-xx http:// jelan-adres.com/ [L] - ако е последна
RewriteRule ^(.+)\-xx\-(.+) http:// jelan-adres.com [L] - ако е по средата
RewriteRule ^xx http:// jelan-adres.com/ [L] - ако е първа и последна

като го направя и трите начина тогава пък лови и xxxyy вместо само xx (това мисля, че ще го фиксирам )
a ако е само RewriteRule ^(.+)\-xxxxxx\-(.+) работи само ако има думи отляво и дясно

Не знам дали го обяснявам разбираемо
ето примери
папка/дума-xxx-дума
папка/ххх-дума
папка/ххх
папка/дума-ххх
папка/ххх- дума за редирект
това са възможните вариянти за които се сещам където може да е думата за редирект
сега като пробвам още по - сложно става ако искам тези редиректи да работят само аз една "папка"
 
Последно редактирано:
Re: Редирект според дума в урл-то

а кирилицата как да я слагам (\xD0\xBC\xD1\x83\)
Не ми се е налагало да редиректвам кирилица, така че тествай

RewriteRule ^(.+)-xx http:// jelan-adres.com/ [L] - ако е последна
RewriteRule ^(.+)\-xx\-(.+) http:// jelan-adres.com [L] - ако е по средата
RewriteRule ^xx http:// jelan-adres.com/ [L] - ако е първа и последна
За да ти се изясни логиката, .+ означава поне един символ, а .* нищо или един или повече символи. Обаче, ако ползваш звездичката, ще трябва да махнеш тиретата, което пък ще създаде проблем при думи, които съдържат желаната от теб дума. Затова си направи 3 правила за всеки желан от теб случай.

Може да опиташ това:

RewriteRule ^(.*)\-?xxxxxx\-?(.*) http:// jelan-adres.com [L]

за да обединиш трите правила, но не знам дали ще сработи :).
 
Последно редактирано:
Re: Редирект според дума в урл-то

аз със правилата горе долу се оправих
с всеки случай по отделно докато не се наложи
да го огранича за една папка само да е редиректа

/папка/хх-саа

къде точно се вмъква името на папката в цялата история
 
Re: Редирект според дума в урл-то

/папка/хх-саа

къде точно се вмъква името на папката в цялата история
RewriteRule ^папка/xxxxxx\-?(.*) http:// jelan-adres.com [L]
 
Re: Редирект според дума в урл-то

RewriteRule ^папка/xxxxxx\-?(.*) http:// jelan-adres.com [L]

това работи само в един случай
когато е
/папка/ххххх, в останалите не

RewriteRule ^(.*)\-?xxxxxx\-?(.*) http:// jelan-adres.com [L]
този бърка и редиректва и xxxxyyyy

на мене ми се щеше да ползвам
примера от 1 мнение
RewriteRule ^(.+)\-xxxxxx\-(.+) http:// jelan-adres.com -
така ли се редактира да работи само с 1 папка
RewriteRule ^папка/-xxxxxx\-(.+) http:// jelan-adres.com
RewriteRule ^proba/-xxxxxx-(.+) http:// jelan-adres.com

и ако не е нахално тази наклонена черта \ след хххх какво означава, то реално с или без нея в моя опит с една папка неработи
 
Re: Редирект според дума в урл-то

Ако УРЛ-то ти е точно така:
site.com/дума-дума2-дума3
Ето ти пхп вариант:
Код:
<?php
$query = '-'.substr(urldecode($_SERVER['REQUEST_URI']), 1).'-';
$word = '-дума-';
if (strpos($query, $word) !== false)
	header("Location: http://google.bg/");
?>
 
Re: Редирект според дума в урл-то

това работи само в един случай
когато е
/папка/ххххх, в останалите не
Нормално, последния ти въпрос беше за редирект при папка ::).

RewriteRule ^(.*)\-?xxxxxx\-?(.*) http:// jelan-adres.com [L]
този бърка и редиректва и xxxxyyyy
Както писах и преди, вероятно е да няма една директива за толкова много условия


на мене ми се щеше да ползвам
примера от 1 мнение
...............
...............
Кажи последно какво точно искаш, за да ти напиша окончателно някакви директиви. След всеки мой пост добавяш допълнителни изисквания ;).

и ако не е нахално тази наклонена черта \ след хххх какво означава, то реално с или без нея в моя опит с една папка неработи
обратният слаш е символ за ескейпване, тъй като тирето в един регексп може да има и друго знаение осен тире. Зачети тук: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule
 
Re: Редирект според дума в урл-то

Ако искаш да има и папки след домейна и съответно преди думите, ето лека модификация:

Код:
<?php
$query = '-'.urldecode($_SERVER['REQUEST_URI']).'-';
$query = str_replace("/", "/-", $query);
$word = '-дума-';
if (strpos($query, $word) !== false)
	header("Location: http://google.bg/");
?>
Така винаги имаш думите в стринг от типа:
-дума-дума2-дума3- и можеш да мачнеш думата с тирета от двете страни, за да се избегне съвпадение от тип "дум" -> "думата".
Така, независимо от папката, имаш редирект към адреса в случай на мачната дума, без да взема предвид стринга на папката.
Не знам дали точно това ти трябва, но според това, което разбрах, то примера работи. :)
 
Последно редактирано:
Re: Редирект според дума в урл-то

Ако искаш да има и папки след домейна и съответно преди думите, ето лека модификация:
благодаря, предпочитам с htaccess, но ако стане ще ползвам твоя вариант. Принципно редиректа ми трябва само за една папка, нека да я наречем проба в случая тука ли я вмъквам $query = str_replace("проба", "/-", $query);


Нормално, последния ти въпрос беше за редирект при папка ::).
първо благодаря за помоща дотук
имах впредвид че, ако е така
папка/sss-xxx-eee - неработи, но ако е само папка/хххх (само една дума) работи

то се като си чета мненията и сам се обърквам.

това е което ми трябва
папка/дума-xxx-дума
папка/ххх-дума
папка/ххх
папка/дума-ххх
папка/ххх

ххх- думата за редирект, но не еи xxxxyyy
 
Последно редактирано:
Re: Редирект според дума в урл-то

това е което ми трябва
папка/дума-xxx-дума
папка/ххх-дума
папка/ххх
папка/дума-ххх
папка/ххх

ххх- думата за редирект, но не еи xxxxyyy

Код:
RewriteRule ^papка/(.*)-?xxx-(.+)$ http://jelanadres.com [L]
RewriteRule ^papка/(.*)-?xxx$ http://jelanadres.com [L]

papka съм го написал на латиница, защото пак казвам, че не съм се занимавал с кирилишки УРЛ.
 
Re: Редирект според дума в урл-то

всичко работи перфектно, с едно изключение
ако е ccxxx пак редиректва
ако има нещо след xxx е ок, но ако е пред него слято без тире - "ccxxx" бърка, така cc- xxx е ок хххсс- така също

мда аз това не съм го и бил посочил като пример вече ме е срам от повтарящи се въпроси
 
Re: Редирект според дума в урл-то

Тогава, ще станат малко повече директивите:

RewriteRule ^papка/(.+)-xxx-(.+)$ http://jelanadres.com [L]
RewriteRule ^papка/(.+)-xxx$ http://jelanadres.com [L]
RewriteRule ^papка/xxx-(.+)$ http://jelanadres.com [L]
RewriteRule ^papка/xxx$ http://jelanadres.com [L]
 
Re: Редирект според дума в урл-то

благодаря много получи се точно както искам
работи и с кирилица (\xD0\xBA\xD0\xB0)
 
Re: Редирект според дума в урл-то

понеже се получава бъг и ако има Ч и адреса е
Код:
%25D0%25BA%25D0%25B
редиректа не работи
как да направя така че ако има дори част от думата да се редиректва
т.е ако имам "град" да редиректва и "града"

то основния проблем е заради тези урл -
Код:
%25D0%25BA%25D0%25B
 
Последно редактирано:

Горе