htaccess переписывают для строки запроса

Если объект не будет владеть объектным монитором, когда это назовет Object.wait (), это не будет в состоянии получить доступ к объекту установить уведомлять слушателя до, монитор выпущен. Вместо этого это будут рассматривать как поток, пытающийся получить доступ к методу на синхронизируемом объекте.

Или, другими словами, нет никакого различия между:

public void doStuffOnThisObject()

и следующий метод:

public void wait()

Оба метода будут заблокированы, пока объектный монитор не будет выпущен. Это - функция в Java для препятствования состоянию объекта быть обновленным больше чем одним потоком. Это просто имеет непреднамеренные последствия на ожидании () метод.

, По-видимому, ожидание () метод не синхронизируется, потому что это могло создать ситуации, где Поток имеет, несколько соединяют объект. (См. Спецификации/Блокировка Языка Java для большего количества информации об этом.) Несколько блокировок являются проблемой, потому что ожидание () метод только отменит одну блокировку. Если бы метод синхронизировался, он гарантировал бы, что только блокировка метода будет отменена, все еще оставляя потенциальную внешнюю блокировку отмененной. Это создало бы условие мертвой блокировки в коде.

Для ответа на вопрос на Thread.sleep () Thread.sleep () не гарантирует, что безотносительно условия, на котором Вы ожидаете, был встречен. Используя Object.wait () и Object.notify () позволяет программисту вручную реализовывать блокирование. Потоки разблокируют, как только уведомление отправляется это, условие соблюдали. например, чтение от диска закончилось, и данные могут быть обработаны потоком. Thread.sleep () потребовал бы, чтобы программист опросил, если условие соблюдали, то отступает ко сну, если это не имеет.

20
задан starkeen 12 May 2015 в 03:20
поделиться

3 ответа

Это было мое решение:

RewriteRule ^ (. *) $ Index.php? Url = $ 1 [L, QSA]

31
ответ дан 29 November 2019 в 22:36
поделиться

Попробуйте следующее:

RewriteEngine On
RewriteRule ^(.*)$ /index.php?url=$1 [L]

Пользователь на вашем сайте увидит это и перейдет к нему:

http://example.com/contact

Но реальная страница будет примерно такой:

http://example.com/index.php?url=contact

Этот бит, [L] , сообщает серверу что это последняя строка правила перезаписи и остановка.

27
ответ дан 29 November 2019 в 22:36
поделиться
RewriteCond %{QUERY_STRING} url=(.*)
RewriteRule index.html  %1

(или что угодно, если это не index.html, index.php, что угодно)

Вам нужно захватить строку запроса, которая обычно не просматривается RewriteRule, и использовать% 1 обратная ссылка, а не 1 доллар, как при захвате в RewriteRule

18
ответ дан 29 November 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: