iNfame

Рейтинг
1
Регистрация
06.08.2012
sh00m:
Не получается сделать переход. Есть много ссылок, которые генерирует сторонний модуль, вида:

http://site.ru/send.php?info.html?id=12345ххх

Хочу сделать через .htaccess переход на http://site.ru/12345ххх

Подскажите, пожалуйста, как решить данную задачу и возможно ли.

В вашем случае логичнее всего сделать редирект через PHP.

PS: момент, появилась идея.

PPS: в общем, спустя час я додумался лишь до такого:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /send\.php\?(.*)\?id=([^&]+)\ HTTP/

RewriteRule ^send\.php$ http://test/%2 [R=301,L]

http://test/send.php?info.html?id=123 >>> http://test/123?info.html?id=123

Остался только трэшняк после вопросительного знака и слишком широкие условия парсинга. Впрочем, если делаете для себя, а не для юзеров, второе не столь весомо.

Специфическая у вас задачка ммм... С двумя вопросительными знаками-то...

Надеюсь, кто-нибудь более шарящий в .htaccess поможет допилить.

dayz:
Как его настроить правильно? А то я сделал как написано http://codex.wordpress.org/%D0%A7%D0%90%D0%92%D0%9E/%D0%9D%D0%B5_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%82_%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8, Денвер начал писать, что внутренние компоненты не поддерживает

Да он сам настраивается, были бы права на запись.

Локализуйте проблему. Работают ли вообще rewrite-правила хоть какие-то?

Mod_rewrite включен? Проверьте в httpd.conf

Дословно ошибку хотелось бы увидеть, про "внутренние компоненты не поддерживает".

ibred:
Приветствую.
Мне требуется код для проверки поля с опр. идентификатором на валидность. Строка вводимая в поле должна начинаться на http://sitename, а заканчиваться на .jpg или .png или .gif.

Подсобите кто-нибудь :) Либо укажите цену за которую готовы помочь :)

<!DOCTYPE html>


<html lang="en">

<head>
<title>#nav</title>
<meta charset="utf-8">
<style type='text/css'>
*{padding:0; margin:0;overflow:hidden;}
body{background-color: #DEDEDE;}
.wrapper{width: 990px; height: 200px; margin: 100px auto; text-align: center;}
</style>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">

function check_url(url)
{
iregex = '^((http?)\:\/\/)?(sitename\.ru\/)*([a-z0-9\/])+(\.png|\.jpg|\.gif)$';
return url.match(iregex);
}

$().ready(function(){
$("#check").click(function(){
if (check_url($("#field").val())) $("#result").html("OK!");
else $("#result").html("Error!");
}
);
});


</script>
</head>

<body>
<div class='wrapper'>
<input type="text" id="field" />
<input type="submit" id="check" value="check" />
<div id="result"></div>
</div>
</body>

</html>

jquery не забудьте подключить

в выделенном красным блоке меняется URL, перед точками и слешем ставьте обратный слэш \

Какого вида URL? Скиньте пример.

У меня ощущение, что вы создаете ЧПУ, а .htaccess не настроен (или его вовсе нет)

successfulpeople:
У кого-нибудь еще есть идеи?

А у вас тут вариантов немного. Статика же, без БД и php, как я понимаю...

1. Сделать замену, как предложили во 2ом варианте. Единственное - вместо пхп я бы выбрал bash/sh или perl. (где-то там был пример)

2. Можно было бы написать JS, который бы сканировал документ на предмет внешних ссылок и добавлял бы noindex/nofollow, но поисковики вряд ли это переварят (хотя может я от жизни отстал)...

3. Сделать в htaccess редирект вида "path/page.html > file.php?page=path/page", в file.php подключать страницу, предварительно фильтруя внешние URL через регулярки (url > goto.php?url). Редирект сделать в качестве php-скрипта.

Не совсем разумно, ресурсоемкая операция (я о подключении страниц), быстродействие напрямую зависит от размера подключаемых страниц.

dkameleon:
...

Окай. Спасибо, май бэд, признаю.

Даже оправдываться не буду:) Разнесли в щепки:)

Неадекватный:
Различать POST и GET просто, не правда ли?

У Свитера, как раз-таки, сделан точно такой формат, о котором я и говорил в #2

У вас есть хоть наброски авторизации? На каком языке?

Ну если учитывать тот факт, что мы говорим о разных вещах, а вы невнимательно читаете - да, довольно просто.

Речь о кнопках твиттера, используемых на сторонних сайтах. Поделиться > Twitter.

И да, там GET-запрос.

jpg scr.jpg
iguania:
iNfame, спасибо.



Это лишь часть авторизации, которая, по сути, еще не дает никаких прав.
Как же тогда происходит авторизация у Твиттера, к примеру, когда для того, чтобы твитнуть пост (а вы не авторизированы у него), нужно сначала авторизироваться в новом окне?

У Твиттера, если брать его за пример, все работает чуточку иначе.

При клике по кнопке "твитнуть" вы передаете их скрипту 4 GET-параметра, это original referrer, text, url и via. Из них формируется твит. Если пользователь не залогинен - ему предлагается авторизоваться. Попап-окно разве что-то передает родительскому?

CSS
Pasha199:
WebJunior, он только меняет положение, влево, вправо, вверх, вниз. А нужно чтобы было одинаковое расстояние между блоками на ширине 1003px

И количество блоков, разумеется, динамическое? Решение через JS допускается? :)

Допустим, обратиться к javascript-функции родительского окна мы можем таким образом:

window.opener.function(arg);

Где, соответственно, function - функция, а arg - аргумент. В качестве аргумента есть возможность передать результат аутентификации (успех/неудача).

Но вы же наверняка понимаете, что это небезопасно в случае с авторизацией, м?

12
Всего: 17