htaccess укоротить адрес

12
M
На сайте с 16.07.2010
Offline
149
987

Здрасти

У меня есть движок парсит музыку и он иногда генерирует адреса у которых в конце домен например вот так

http://site.com/music/direct/Depeche+Mode+-Tainted+Love+[www.vmuz.com]

в конце может быть любой другой домен

Как можно с помощью htaccess убрать домен в конце или это можно сделать только с помощью php

и если с помощью php как убрать домен в конце какой код применяется?

Ниже код выделенный синим цветом который генерирует ссылку

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

Заранее благодарю

Download Music Mp3 (http://google.co.il)
siv1987
На сайте с 02.04.2009
Offline
427
#1

Смотря является ли этот домен обязателен в ссылке или нет - возможно на сайте доноре файл именно так и называется.

$track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']);

domen4you
На сайте с 08.03.2013
Offline
53
#2

siv1987, где вы так хорошо на регулярных выражениях натаскались? Во всех темах отмечаетесь)))

M
На сайте с 16.07.2010
Offline
149
#3
siv1987:
Смотря является ли этот домен обязателен в ссылке или нет - возможно на сайте доноре файл именно так и называется.

$track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']);

Спасибо

Но тут

$track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']);

Два раза повторяется

$track['title']);

В вашем коде не хватает двойных '' запятых и скобок } а без этих скобок } работать не будет

Не могу понять как правильно вписать этот кусок тот что вы порекомендовали в выше приведенный мною код

Этот домен не обязателен в ссылке например адрес

http://site.com/music/direct/Depeche+Mode+-Tainted+Love+[www.vmuz.com]

и тот же адрес без плюса и домена в конце это например так

http://site.com/music/direct/Depeche+Mode+-Tainted+Love

Одна и та же страница, так что получается домен в конце лишний

В адресе пробелы заменены плюсами но это понятно и так

siv1987
На сайте с 02.04.2009
Offline
427
#4
megallodon:
В вашем коде не хватает двойных '' запятых и скобок } а без этих скобок } работать не будет

Чо-чо не хватает?.. Я, может быть, не такой большой специалист в php, но был уверен что код полностью рабочий.

domen4you
На сайте с 08.03.2013
Offline
53
#5
megallodon:
В вашем коде не хватает двойных '' запятых и скобок } а без этих скобок } работать не будет

то не двойная, а две одинарных

M
На сайте с 16.07.2010
Offline
149
#6
siv1987:
Чо-чо не хватает?.. Я, может быть, не такой большой специалист в php, но был уверен что код полностью рабочий.

Я вобще в php никакой потому очень благодарен вам

Если можно подскажите пожалуста как ваш код вставить в мой который я дал выше, как полностью должно выглядеть?

А то я как только не пробовал вставить ваш код не получется

Ну да вроде не хватает скобки } этой

вот код

str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}

Если быть точным то эта переменная {$track['title']} генерирует ссылку



---------- Добавлено 28.06.2014 в 00:36 ----------

domen4you:
то не двойная, а две одинарных

Как можно сделать что бы в конце ссылки в адресной строке не выводился домен, знаю только что этот код генерирует ссылку

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

domen4you
На сайте с 08.03.2013
Offline
53
#7
megallodon:
А то я как только не пробовал вставить ваш код не получется

так пробовали?

<?php $track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']); ?>

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

M
На сайте с 16.07.2010
Offline
149
#8
domen4you:
так пробовали?
<?php $track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']); ?>
<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

Я просто в место этого кода

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

Заменил ваш тот что вы дали

<?php $track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']); ?>

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

Не сработало все равно в конце есть домен, этот домен вконце берется из названия файлаЮ например если файл с названием file_(www.site.com) то и урл соответственно такой же

Знаете удалос убрать тоден с нащвания файла на сайте вот так а вот урл адрес все равно с доменом на конце, может можно еще дописать в этот код чтонеть что бы правило распространялось и на урл страницы тоже?

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?>

<?php
$ggg=explode(' ',$track['title']);
$ftrak="";
foreach ($ggg as $val){
$err=0;
$pos = strripos(mb_strtolower($val, 'UTF-8'), '.com');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '.net');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '.org');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '.ru');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '.ua');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '♥');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '♪');
if ($pos === false) {} else {$err=1;}
$pos = strripos(mb_strtolower($val, 'UTF-8'), '/');
if ($pos === false) {} else {$err=1;}

if ($err==0) $ftrak.=$val." ";
}

echo trunc($ftrak, 50)

?> </a>

domen4you
На сайте с 08.03.2013
Offline
53
#9

а так?

<?php $link = preg_replace('/[+\s]?\[.+?\]$/', '', $link); ?>

<?php $track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']); ?>

<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

M
На сайте с 16.07.2010
Offline
149
#10
domen4you:
а так?
<?php $link = preg_replace('/[+\s]?\[.+?\]$/', '', $link); ?>
<?php $track['title'] = preg_replace('/[+\s]?\[.+?\]$/', '', $track['title']); ?>
<span itemprop="name" class="name"><?php $link = $app['conf']->getOption('app', 'baseHref') . str_replace(" ", "-", "music/{$track['vkid']}/{$track['artist']}-{$track['title']}") ?><a href="<?php echo $link ?>" title="Скачать <?php echo $track['artist'] ?> - <?php echo $track['title'] ?> трек"><?php echo trunc($track['title'], 50) ?></a>

не-а не сработало

я заменю вашь код и все, правильно ведь делаю?

12

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