Переадресация с document.url.match - PullRequest
0 голосов
/ 11 декабря 2011

Моя цель - перенаправить мой сайт на (/2012/index.php)

ТОЛЬКО ЕСЛИ пользователь перейдет на (http://www.neonblackmag.com)

ИЛИ ЕСЛИ

пользователь переходит к (http://neonblackmag.com.s73231.gridserver.com), они не будут перенаправлены ... (таким образом, я все еще могу работать на своем веб-сайте и просматривать его по этому URL (временному URL)

Я пробовал следующий сценарий и варианты, но мне пока не удалось заставить его работать ...

<script language="javascript">
if (document.URL.match("http://www.neonblackmag.com/")); {
location.replace("http://www.neonblackmag.com/2012"); }
</script>

Ответы [ 3 ]

1 голос
/ 11 декабря 2011

Это должно работать:

<script type="text/javascript">
    if(location.href.match(/www.neonblackmag.com/)){
        location.replace("http://www.neonblackmag.com/2012");
    }
</script>

Вы должны использовать регулярное выражение в качестве аргумента соответствия (если вы не используете https, вы можете отбросить совпадение для http: //...

В вашем решении точка с запятой после if должна быть удалена - и я думаю, что все, моя использует location.href вместо document.URL.

Вы также можете сопоставить подпапки, используя location.href.match(/www.neonblackmag.com\/subfolder/) и т. Д.

Приветствия

G.

1 голос
/ 11 декабря 2011

document.url не представляется настраиваемым, на самом деле. Вы, вероятно, хотите window.location

<script type="text/javascript">
if (window.location.hostname === "www.neonblackmag.com") {
    window.location.pathname = '/2012';
}
</script>

(Не используйте language="javascript". Это устарело.)

0 голосов
/ 11 декабря 2011

Любой в любое время может отключить JavaScript и продолжить просмотр вашего сайта. Есть лучшие способы сделать это, в основном на стороне сервера.

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

var the_url = window.location.href;
document.write(the_url);

// This is our pretend URL
// Remove this next line in production
var the_url = 'http://www.neonblackmag.com/';

if (the_url.indexOf('http://www.neonblackmag.com/') !== -1)
    window.location.href = 'http://www.neonblackmag.com/2012/index.php';
else
    alert('Welcome');

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


На стороне сервера это то место, где у вас действительно есть сила. В своем PHP-коде вы можете ограничить количество запросов, поступающих только с вашего IP-адреса, или только с любым другим переменным фактором, и никто не может войти. Если вам не нравится запрос, отправляйте их куда-нибудь, а не предоставляйте им страницу.

header('Location: /2012/index.php'); // PHP code for a redirect

Есть много других способов сделать это, но это один из самых простых. Другие включают перенаправление всего домена или создание тестового дочернего домена и разрешают только запросы к нему.

...