Я хочу перенаправить все запросы www.domain.com на domain.com с PHP в основном:
if (substr($_SERVER['SERVER_NAME'], 0, 4) === 'www.')
{
header('Location: http://' . substr($_SERVER['SERVER_NAME'], 4)); exit();
}
Однако я действительно хочу поддержать требуемый URL как в Так, для, например:
http://www.stackoverflow.com/questions/tagged/php?foo=bar
Должен перенаправить к:
http://stackoverflow.com/questions/tagged/php?foo=bar
Я не хочу полагаться .htaccess
решения, и я не уверен который $_SERVER
Вар я должен был бы использовать, чтобы заставить это произойти. Кроме того, сохранение протокола HTTPS было бы плюс.
Как я должен сделать это?
UIScrollView является всего лишь подклассом UIView, что позволяет добавлять и удалять подчиненные виды во время выполнения. Если у вас есть фотографии фиксированной ширины (320px) и их 300, то ваш основной вид будет 300 * 320
пикселей в ширину. При создании вида прокрутки инициализируйте рамку таким образом, чтобы она была такой широкой.
Таким образом, рамка вида прокрутки будет иметь размеры (0, 0) - (96000, 480). При добавлении подчиненного вида необходимо изменить его рамку так, чтобы он помещался в правильное положение на родительском виде.
Итак, мы добавляем 4-ю фотографию к виду прокрутки. Это будет от (960, 480) до (1280, 480). Это легко вычислить, если можно каким-то образом связать индекс с каждой картиной. Затем используйте его для вычисления кадра картины, где индексы начинаются с 0:
Top-Left -- (320 * (index - 1), 0)
до
Bottom-Right -- (320 * index, 480)
Удаление первого изображения/подвида должно быть простым. Сохранение массива из 3 подчиненных представлений на экране. Каждый раз, когда вы добавляете новый подчиненный вид на экран, также добавляйте его в конец этого массива, а затем удаляйте первый подчиненный вид в этом массиве с экрана.
-121--3502279-SVG - это способ 2D:)
Если скорость рисования является проблемой, вам придется быть осторожными в том, насколько сложны ваши файлы - и обратите внимание, что SVG не оптимизирован для скорости анализа, так что вы можете понести значительный штраф времени запуска во время загрузки моделей.
-121--3126690-$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
header('Location: '. $pageURL);
Перенаправляет пользователя на ту же страницу, www. нетронутый.
Итак, чтобы избавиться от www., мы просто заменим одну строку:
$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= substr($_SERVER['SERVER_NAME'], 4).":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= substr($_SERVER['SERVER_NAME'], 4).$_SERVER["REQUEST_URI"];
}
return $pageURL;
И это должно работать.
По пути, это метод, который рекомендуется Google, так как он сохраняет https ://
нетронутыми, наряду с портами и, например, если вы используете их.
Как отметил Гумбо, он использует $ _ SERVER ['HTTP _ HOST']
, так как он исходит из заголовков вместо сервера, таким образом $ _ SERVER ['SERVER _ *']
не так надежен. Можно заменить $ _ SERVER ['SERVER _ NAME']
на $ _ SERVER ['HTTP _ HOST']
, и он должен работать в том же пути.
Попробуйте следующее:
if (substr($_SERVER['HTTP_HOST'], 0, 4) === 'www.') {
header('Location: http'.(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on' ? 's':'').'://' . substr($_SERVER['HTTP_HOST'], 4).$_SERVER['REQUEST_URI']);
exit;
}