PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (2): « 1 [2]
Найдено сообщений: 24
lex-romanow
Отправлено: 16 Мая, 2016 - 23:29:37 • Тема: Разный ответ от сервера, print_r($_SERVER) • Форум: Программирование на PHP
Ответов: 2 Просмотров: 690
Всем привет. Столкнулся с такой загадкой. На субдомене представлена форма авторизации менеджера банка, работает на $.ajax . Запрос идет на основной домен. Я авторизуюсь без проблем, а менеджер банка с офиса не может авторизоваться. Думаю дело в их безопасности. Сайт на HTTP , HTTPS пока в планах. Решил я распечатать print_r($_SERVER) своей авторизации и авторизации менеджера и о чудо, они разные. Почему, я пока в догадках. Как решить проблему? Почему нет HTTP_REFERER у менеджера?
Моя авторизация.
CODE (
no ):
скопировать код в буфер обмена
Array
(
[PHP_FCGI_CHILDREN] => 0
[PATH] => /etc:/bin:/sbin:/usr/bin:/usr/sbin
[PHP_FCGI_MAX_REQUESTS] => 400
[PWD] => /var/fcgi/***/www.site.com.ua
[PHPRC] => /usr/local/php54/etc/
[PHP_INI_SCAN_DIR] => /var/fcgi/***/www.site.com.ua/
[ORIG_SCRIPT_NAME] => /cgi-bin/php.cgi
[ORIG_PATH_TRANSLATED] => /sata1/home/users/***/www/www.site.com.ua/controller/redirect.php
[ORIG_PATH_INFO] => /controller/redirect.php
[ORIG_SCRIPT_FILENAME] => /var/fcgi/***/www.site.com.ua/php.cgi
[SCRIPT_NAME] => /controller/redirect.php
[REQUEST_URI] => /controller/redirect.php
[QUERY_STRING] =>
[REQUEST_METHOD] => POST
[SERVER_PROTOCOL] => HTTP/1.0
[GATEWAY_INTERFACE] => CGI/1.1
[REDIRECT_URL] => /controller/redirect.php
[REMOTE_PORT] => 42217
[SCRIPT_FILENAME] => /sata1/home/users/***/www/www.site.com.ua/controller/redirect.php
[SERVER_ADMIN] => ***
[DOCUMENT_ROOT] => /sata1/home/users/***/www/www.site.com.ua
[REMOTE_ADDR] => ***
[SERVER_PORT] => 80
[SERVER_ADDR] => ***
[SERVER_NAME] => site.com.ua
[SERVER_SOFTWARE] => Apache/2.2.24 (FreeBSD)
[SERVER_SIGNATURE] => <address>Apache/2.2.24 (FreeBSD) Server at <a href="mailto:***">site.com.ua</a> Port 80</address>
[HTTP_ORIGIN] => http://m.site.com.ua
[CONTENT_LENGTH] => 19
[HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
[HTTP_ACCEPT] => */*
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 5.1; rv:46.0) Gecko/20100101 Firefox/46.0
[CONTENT_TYPE] => application/x-www-form-urlencoded; charset=UTF-8
[HTTP_COOKIE] => ***
[HTTP_X_FORWARDED_PROTOCOL] => http
[HTTP_X_REAL_IP] => ***
[HTTP_HOST] => site.com.ua
[HTTP_CONNECTION] => close
[REDIRECT_STATUS] => 200
[REDIRECT_HANDLER] => application/x-httpd-fastphp
[FCGI_ROLE] => RESPONDER
[PHP_SELF] => /controller/redirect.php
[REQUEST_TIME_FLOAT] => 1463401319.1361
[REQUEST_TIME] => 1463401319
[HTTP_REFERER] => http://m.site.com.ua/?tab=offer
[HTTP_ACCEPT_ENCODING] => gzip, deflate
)
Авторизация менеджера.
CODE (
no ):
скопировать код в буфер обмена
Array
(
[PHP_FCGI_CHILDREN] => 0
[PATH] => /etc:/bin:/sbin:/usr/bin:/usr/sbin
[PHP_FCGI_MAX_REQUESTS] => 400
[PWD] => /var/fcgi/***/www.site.com.ua
[PHPRC] => /usr/local/php54/etc/
[PHP_INI_SCAN_DIR] => /var/fcgi/***/www.site.com.ua/
[ORIG_SCRIPT_NAME] => /cgi-bin/php.cgi
[ORIG_PATH_TRANSLATED] => /sata1/home/users/***/www/www.site.com.ua/controller/redirect.php
[ORIG_PATH_INFO] => /controller/redirect.php
[ORIG_SCRIPT_FILENAME] => /var/fcgi/***/www.site.com.ua/php.cgi
[SCRIPT_NAME] => /controller/redirect.php
[REQUEST_URI] => /controller/redirect.php
[QUERY_STRING] =>
[REQUEST_METHOD] => POST
[SERVER_PROTOCOL] => HTTP/1.0
[GATEWAY_INTERFACE] => CGI/1.1
[REDIRECT_URL] => /controller/redirect.php
[REMOTE_PORT] => 48813
[SCRIPT_FILENAME] => /sata1/home/users/***/www/www.site.com.ua/controller/redirect.php
[SERVER_ADMIN] => ***
[DOCUMENT_ROOT] => /sata1/home/users/***/www/www.site.com.ua
[REMOTE_ADDR] => ***
[SERVER_PORT] => 80
[SERVER_ADDR] => ***
[SERVER_NAME] => site.com.ua
[SERVER_SOFTWARE] => Apache/2.2.24 (FreeBSD)
[SERVER_SIGNATURE] => <address>Apache/2.2.24 (FreeBSD) Server at <a href="mailto:***">site.com.ua</a> Port 80</address>
[HTTP_CACHE_CONTROL] => no-cache
[HTTP_VIA] => 1.1 HQS-00-026, 1.1 srv-extsquid-01 (squid/3.3.8)
[HTTP_PRAGMA] => no-cache
[HTTP_ORIGIN] => http://m.site.com.ua
[CONTENT_LENGTH] => 19
[HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
[HTTP_ACCEPT] => */*
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0
[CONTENT_TYPE] => application/x-www-form-urlencoded; charset=UTF-8
[HTTP_COOKIE] => ***
[HTTP_X_FORWARDED_PROTOCOL] => http
[HTTP_X_REAL_IP] => ***
[HTTP_HOST] => site.com.ua
[HTTP_CONNECTION] => close
[REDIRECT_STATUS] => 200
[REDIRECT_HANDLER] => application/x-httpd-fastphp
[FCGI_ROLE] => RESPONDER
[PHP_SELF] => /controller/redirect.php
[REQUEST_TIME_FLOAT] => 1463401329.4707
[REQUEST_TIME] => 1463401329
)
lex-romanow
Отправлено: 24 Апреля, 2016 - 18:15:41 • Тема: Обрамление текстовых сcылок тегом <a> • Форум: Регулярные выражения
Ответов: 1 Просмотров: 321
Написал регулярку, которая ищет и обрамляет текстовые ссылки тегом <a>, но регулярка захватывает рядом стоящие точки, запятые, это при случае если рядом с текстовой ссылкой идут эти символы. Фтп ссылок не будет, поэтому я не учел в регулярке. Мой пример можно посмотреть здесь - http://rubular[dot]com/r/P04ZNa9Td6 . Прошу помочь мне исправить этот момент. Благодарю!
lex-romanow
Отправлено: 03 Апреля, 2016 - 13:43:26 • Тема: Какой из запросов лучше? • Форум: Работа с СУБД
Ответов: 1 Просмотров: 681
Всем привет. Хочу услышать мнения опытных людей, какой из абсолютно одинаковых запросов лучше?
CODE (
SQL ):
скопировать код в буфер обмена
SELECT a. `client_bid_id`
FROM `client_bid` a
WHERE a. `client_bid_blocked` = 'n'
AND NOT EXISTS
(
SELECT 1
FROM `client_login` b
WHERE b. `client_id` = a. `client_id`
AND b. `client_login_type` = 'success'
AND b. `client_login_date` > NOW( ) - INTERVAL 1 HOUR
)
CODE (
SQL ):
скопировать код в буфер обмена
SELECT a. `client_bid_id`
FROM `client_bid` a
LEFT JOIN `client_login` b ON ( b. `client_id` = a. `client_id` AND b. `client_login_type` = 'success' AND b. `client_login_date` > NOW( ) - INTERVAL 1 HOUR)
WHERE a. `client_bid_blocked` = 'n'
AND b. `client_id` IS NULL
Прочитал довольно много, но так и не решил для себя - в каких случаях лучше not exits , а в каких - left join ... is null .
not in у меня сразу отпал, как самый худший.
План первого запроса:
CODE (
no ):
скопировать код в буфер обмена
"id" "select_type" "table" "type" "possible_keys" "key" "key_len" "ref" "rows" "Extra"
"1" "PRIMARY" "a" "ALL" \N \N \N \N "12" "Using where"
"2" "DEPENDENT SUBQUERY" "b" "ALL" \N \N \N \N "1" "Using where"
План второго запроса:
CODE (
no ):
скопировать код в буфер обмена
"id" "select_type" "table" "type" "possible_keys" "key" "key_len" "ref" "rows" "Extra"
"1" "SIMPLE" "a" "ALL" \N \N \N \N "12" "Using where"
"1" "SIMPLE" "b" "ALL" \N \N \N \N "1" "Using where; Not exists; Using join buffer (Block Nested Loop)"
Индексы я пока не применял, меня другое интересует.
lex-romanow
Отправлено: 27 Октября, 2015 - 14:24:39 • Тема: Выбрать просроченные заявки • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 63
Мелкий пишет: В зависимости от версии mysql и температуры луны может оказаться эффективнее not exists по подзапросу или LEFT JOIN
спасибо, через not exists сделал
CODE (
SQL ):
скопировать код в буфер обмена
SELECT a. `client_bid_id`
FROM `client_bid` a
WHERE a. `client_bid_blocked` = 'n'
AND NOT EXISTS
(
SELECT 1
FROM `client_login` b
WHERE b. `client_id` = a. `client_id`
AND b. `client_login_type` = 'success'
AND b. `client_login_date` > NOW( ) - INTERVAL 1 DAY
)
lex-romanow
Отправлено: 27 Октября, 2015 - 11:20:30 • Тема: Выбрать просроченные заявки • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 63
sqlfiddle работает с переменным успехом, поэтому выложу тут код:
Таблицы и заполнение:
CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE `client_bid` (
`client_bid_id` int( 10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`client_id` int( 8) UNSIGNED NOT NULL DEFAULT '0' ,
`client_bid_blocked` enum( 'y' , 'n' ) NOT NULL DEFAULT 'n' ,
PRIMARY KEY ( `client_bid_id` )
) ENGINE= InnoDB DEFAULT CHARSET= utf8;
INSERT INTO `client_bid` ( `client_bid_id` , `client_id` , `client_bid_blocked` ) VALUES
( 1 , 1 , 'n' ) ,
( 2 , 4 , 'y' ) ,
( 3 , 4 , 'n' ) ;
CREATE TABLE `client_login` (
`client_login_id` int( 10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`client_id` int( 8) UNSIGNED NOT NULL DEFAULT '0' ,
`client_login_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`client_login_type` enum( 'wait' , 'success' , 'failed' ) NOT NULL DEFAULT 'wait' ,
PRIMARY KEY ( `client_login_id` )
) ENGINE= InnoDB DEFAULT CHARSET= utf8;
INSERT INTO `client_login` ( `client_login_id` , `client_id` , `client_login_date` , `client_login_type` ) VALUES
( 1 , 1 , '2015-05-24 16:06:03' , 'success' ) ,
( 2 , 1 , '2015-05-24 18:19:39' , 'success' ) ,
( 3 , 1 , '2015-05-24 18:21:07' , 'success' ) ,
( 4 , 1 , '2015-05-24 18:22:21' , 'success' ) ,
( 5 , 1 , '2015-05-24 18:24:35' , 'success' ) ,
( 6 , 1 , '2015-05-28 16:20:42' , 'success' ) ,
( 7 , 1 , '2015-05-28 16:32:56' , 'success' ) ,
( 8 , 1 , '2015-05-28 16:46:47' , 'success' ) ,
( 9 , 1 , '2015-05-28 17:46:57' , 'success' ) ,
( 10 , 1 , '2015-05-29 18:56:03' , 'success' ) ,
( 11 , 1 , '2015-05-29 19:28:52' , 'success' ) ,
( 12 , 1 , '2015-05-29 19:32:25' , 'success' ) ,
( 13 , 1 , '2015-05-29 19:57:37' , 'success' ) ,
( 14 , 1 , '2015-05-30 12:37:56' , 'wait' ) ,
( 15 , 1 , '2015-05-30 12:38:50' , 'failed' ) ,
( 16 , 1 , '2015-05-30 12:38:58' , 'failed' ) ,
( 17 , 1 , '2015-05-30 13:21:18' , 'wait' ) ,
( 18 , 1 , '2015-05-30 20:12:11' , 'success' ) ,
( 19 , 1 , '2015-06-02 20:49:12' , 'success' ) ,
( 20 , 1 , '2015-06-02 22:52:09' , 'success' ) ,
( 21 , 1 , '2015-06-02 22:54:32' , 'success' ) ,
( 22 , 1 , '2015-06-03 13:45:09' , 'success' ) ,
( 23 , 1 , '2015-06-05 12:47:24' , 'success' ) ,
( 24 , 1 , '2015-06-05 19:50:08' , 'success' ) ,
( 25 , 1 , '2015-07-21 10:09:48' , 'success' ) ,
( 26 , 1 , '2015-07-21 10:29:47' , 'wait' ) ,
( 27 , 1 , '2015-07-21 10:31:03' , 'success' ) ,
( 28 , 1 , '2015-07-21 10:31:21' , 'failed' ) ,
( 29 , 1 , '2015-07-21 14:59:10' , 'wait' ) ,
( 30 , 1 , '2015-07-21 14:59:45' , 'success' ) ,
( 31 , 1 , '2015-07-21 15:00:32' , 'failed' ) ,
( 39 , 1 , '2015-07-21 20:01:37' , 'wait' ) ,
( 40 , 1 , '2015-07-21 20:13:12' , 'success' ) ,
( 41 , 1 , '2015-07-25 14:08:54' , 'wait' ) ,
( 42 , 1 , '2015-07-25 14:20:34' , 'wait' ) ,
( 43 , 1 , '2015-07-25 14:24:18' , 'wait' ) ,
( 44 , 1 , '2015-07-26 18:06:08' , 'success' ) ,
( 45 , 1 , '2015-07-26 19:01:59' , 'wait' ) ,
( 46 , 1 , '2015-07-26 21:47:41' , 'wait' ) ,
( 47 , 1 , '2015-07-26 21:53:27' , 'wait' ) ,
( 48 , 1 , '2015-07-26 22:34:46' , 'success' ) ,
( 58 , 1 , '2015-09-17 21:05:48' , 'wait' ) ,
( 59 , 2 , '2015-09-17 22:32:07' , 'wait' ) ,
( 60 , 2 , '2015-09-17 22:33:46' , 'wait' ) ,
( 61 , 3 , '2015-09-17 22:36:34' , 'wait' ) ,
( 62 , 1 , '2015-09-17 22:43:50' , 'wait' ) ,
( 63 , 1 , '2015-09-17 22:44:31' , 'wait' ) ,
( 64 , 1 , '2015-09-18 01:13:20' , 'wait' ) ,
( 65 , 1 , '2015-09-18 01:14:13' , 'wait' ) ,
( 66 , 1 , '2015-10-16 19:30:13' , 'success' ) ,
( 67 , 1 , '2015-10-22 23:22:31' , 'success' ) ,
( 68 , 1 , '2015-10-23 17:31:42' , 'success' ) ,
( 69 , 1 , '2015-10-23 17:32:09' , 'failed' ) ,
( 70 , 1 , '2015-10-23 17:34:57' , 'success' ) ,
( 71 , 1 , '2015-10-23 17:36:17' , 'success' ) ,
( 72 , 1 , '2015-10-23 17:37:34' , 'success' ) ,
( 73 , 1 , '2015-10-23 17:58:51' , 'success' ) ,
( 74 , 1 , '2015-10-23 18:07:19' , 'wait' ) ,
( 75 , 1 , '2015-10-23 18:07:46' , 'failed' ) ,
( 76 , 1 , '2015-10-23 18:09:05' , 'success' ) ,
( 77 , 1 , '2015-10-23 18:10:40' , 'success' ) ,
( 78 , 1 , '2015-10-23 19:02:15' , 'success' ) ,
( 79 , 1 , '2015-10-23 19:04:27' , 'success' ) ,
( 80 , 1 , '2015-10-23 19:05:48' , 'success' ) ,
( 81 , 1 , '2015-10-23 21:28:25' , 'success' ) ,
( 82 , 1 , '2015-10-23 21:32:41' , 'success' ) ,
( 83 , 1 , '2015-10-23 21:34:19' , 'success' ) ,
( 84 , 1 , '2015-10-23 21:36:24' , 'success' ) ,
( 85 , 1 , '2015-10-23 21:37:30' , 'success' ) ,
( 86 , 1 , '2015-10-23 21:56:07' , 'wait' ) ,
( 87 , 1 , '2015-10-23 22:09:11' , 'wait' ) ,
( 88 , 1 , '2015-10-23 22:11:06' , 'success' ) ,
( 89 , 1 , '2015-10-23 22:17:27' , 'success' ) ,
( 90 , 1 , '2015-10-24 20:04:45' , 'success' ) ,
( 91 , 1 , '2015-10-24 20:16:37' , 'success' ) ,
( 92 , 1 , '2015-10-26 19:14:43' , 'success' ) ,
( 93 , 1 , '2015-10-26 19:32:34' , 'success' ) ,
( 94 , 4 , '2015-10-27 00:15:34' , 'success' ) ,
( 95 , 4 , '2015-10-26 01:25:46' , 'failed' ) ;
Запрос по-первой ссылке (Запрос конечно не верен, не могу придумать как его верно написать. Пока выводит все. ):
CODE (
SQL ):
скопировать код в буфер обмена
SELECT a. `client_bid_id` ,
b. `client_login_date`
FROM `client_bid` a
JOIN `client_login` b ON ( b. `client_id` = a. `client_id` AND b. `client_login_type` = 'success' )
WHERE a. `client_bid_blocked` = 'n'
Запрос по-второй ссылке (Пока указал 1 DAY. По первым тестам работает, но мне не нравится, что пока просрочка не сработает, то выводится поле с пустым значением во втором столбце второй строки, нужно вторую строку вообще не выводить в этом случае, но как? И вообще как запрос составлен, лучше можно? ):
CODE (
SQL ):
скопировать код в буфер обмена
SELECT `client_bid` . `client_bid_id` AS `id` ,
(
SELECT `client_login` . `client_login_date`
FROM `client_login`
WHERE `client_login` . `client_id` = `client_bid` . `client_id`
AND `client_login` . `client_login_type` = 'success'
AND `client_login` . `client_login_date` < NOW( ) - INTERVAL 1 DAY
ORDER BY `client_login` . `client_login_date` DESC
LIMIT 1
) AS `date`
FROM `client_bid`
WHERE `client_bid` . `client_bid_blocked` = 'n'
(Добавление)
Описание таблиц с полями и постановка задачи.
client_bid - таблица заявок
-- client_bid_id - ид заявки
-- client_id - ид того кто заявку составил
-- client_bid_blocked - заблокирована или нет заявка
client_login - таблица входов клиента в панель
-- client_login_id - ид входа
-- client_id - ид того кто вошел в панель
-- client_login_date - дата и время входа
-- client_login_type - тип входа (wait - ожидание кода подтверждения входа, success - успешный вход, failed - ошибка при входе)
Нужно - выбрать заявки, которые являются просроченными (потом я их заблокирую). Просроченной заявкой я считаю ту, у которой создатель не входил в панель более 1 дня (цифра будет другая, для теста беру 1 день).
Во втором запросе я почти добился того, что нужно, но хотелось бы довести запрос до ума.
lex-romanow
Отправлено: 26 Октября, 2015 - 23:59:20 • Тема: Выбрать просроченные заявки • Форум: SQL и Архитектура БД
Ответов: 4 Просмотров: 63
Всем привет. Есть 2 таблицы - "заявки" и "логи авторизации клиента". Связь между таблицами по полю `client_id` . Посмотрите пример, там я наглядно все выложил - тыц . Запрос конечно не верен, не могу придумать как его верно написать. Пока выводит все.
Как я вижу работу запроса - запрос выбирает все заявки, которые не заблокированы, потом ищет владельца заявки со статусом success и смотрит дату последнего его входа (сортируем по убыванию дабы самая свежая дата была вверху, указываем лимит 1), если дата последнего входа превышает 1 день, то выводим ИД этой заявки для дальнейшей обработки.
Прошу помочь с запросом, перепробовал разные вариации запроса, но все не так. Спасибо.
(Добавление)
Вот написал запрос - тыц , пока указал 1 DAY. По первым тестам работает, но мне не нравится, что пока просрочка не сработает, то выводится поле с пустым значением во втором столбце второй строки, нужно вторую строку вообще не выводить в этом случае, но как? И вообще как запрос составлен, лучше можно?
lex-romanow
Отправлено: 20 Августа, 2015 - 17:05:09 • Тема: Подправить RewriteRule для (суб)домена дабы работал глобально • Форум: Apache и другие веб-серверы
Ответов: 0 Просмотров: 380
Всем привет. Возьмем за пример домен - example.com и субдомен - privatbank.example.com
Структура папок сайта - http://imagizer[dot]imageshack[dot]com/i[dot][dot][dot]/1905/dHki0r[dot]jpg .
Содержимое корневого .htaccess:
CODE (
no ):
скопировать код в буфер обмена
#Разрешаем кроссдоменное подключение файлов--------------------
Header set Access-Control-Allow-Origin "*"
#--------------------------------------------------------------
#Устанавливаем кодировку сайта---------------------------------
AddDefaultCharset utf-8
#--------------------------------------------------------------
#Переадресации при разных ошибках------------------------------
ErrorDocument 403 http://example.com/
ErrorDocument 404 /404.php
#--------------------------------------------------------------
#Скрываем содержимое папок-------------------------------------
Options All -Indexes
#--------------------------------------------------------------
#Включаем преобразование ссылок--------------------------------
RewriteEngine on
#--------------------------------------------------------------
#Склеиваем index.php с (суб)доменом---------------------------------
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
#--------------------------------------------------------------
#Принудительная подстановка замыкающего слеша------------------
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
#--------------------------------------------------------------
#Склеиваем www с (суб)доменом----------------------------------
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#--------------------------------------------------------------
#Переадресации на субдомена------------------------------------
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
RewriteCond %{HTTP_HOST} ^([^.]*)\.example\.com$
RewriteCond %{REQUEST_URI} !^/domains
RewriteRule ^(.*)$ /domains/%1/$1 [QSA,L]
#--------------------------------------------------------------
#Ловим переменные из урл---------------------------------------
RewriteRule ^(.*)(\/|\.html)$ index.php?data=$1&last=$2 [L,QSA]
#--------------------------------------------------------------
Содержимое субдоменного .htaccess:
CODE (
no ):
скопировать код в буфер обмена
#Ловим переменные из урл---------------------------------------
RewriteRule ^(.*)(\/|\.html)$ index.php?data=$1&last=$2 [L,QSA]
#--------------------------------------------------------------
Пришлось сдублировать, т.к. $_GET на субдомене вертал всегда пустой массив.
Сейчас на главной странице домена и субдомена $_GET вертает пустой массив, на любой другой странице вертает массив, так как и нужно.
1. Хотелось бы удалить .htaccess с субдомена, но нужна ваша помощь в правке корневого RewriteRule
2. Если получится сделать так, то вообще будет замечательно:
а) главный домен
-- на главной странице вертает
-- на странице доставки вертает
б) субдомен
-- на главной странице вертает
-- на странице доставки вертает
Спасибо! Надеюсь на вашу помощь.
lex-romanow
Отправлено: 17 Августа, 2015 - 21:04:07 • Тема: Автоматические субдомены через .htaccess • Форум: Apache и другие веб-серверы
Ответов: 0 Просмотров: 359
Всем привет. Размещаюсь на виртуальном unix хостинге. Возникла потребность в автоматических субдоменах. На хостинге прописал *.example.com. В корне сайта создал папку domains и в ней уже размещаю субдомена www, panel, ... В корне сайта содержится .htaccess со следующим содержимым:
CODE (
text ):
скопировать код в буфер обмена
#Устанавливаем кодировку сайта
AddDefaultCharset utf-8
#Переадресации при разных ошибках
ErrorDocument 403 http://example.com/
ErrorDocument 404 http://example.com/
#Скрываем содержимое папок
Options All -Indexes
#Включаем преобразование ссылок
RewriteEngine on
#Склеиваем index.php с доменом
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
#RewriteRule ^index\.php$ / [R=301,L]
#Принудительная подстановка замыкающего слеша
#RewriteCond %{REQUEST_URI} /+[^\.]+$
#RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
RewriteCond %{HTTP_HOST} ^([^.]*)\.example\.com$
RewriteCond %{REQUEST_URI} !^/domains
RewriteRule ^(.*)$ /domains/%1/$1 [QSA,L]
#Ловим переменные из урл
RewriteRule ^(.*)(\/|\.html)$ index.php?data=$1&last=$2 [L,QSA]
Судбомена открываются как по мне нормально, но есть ошибки, хотя не везде.
При открытии ссылки http://www[dot]example[dot]com/ ошибки нет.
При открытии ссылки http://panel[dot]example[dot]com/ ошибка следующая, за 1 открытие ссылки:
Цитата: [Mon Aug 17 20:02:50 2015] [notice] [client ...] [mod_vhost_ldap.c] translate: virtual host not found, trying wildcard *.example.com
[Mon Aug 17 20:02:50 2015] [notice] [client ...] [mod_vhost_ldap.c] translate: virtual host not found, trying wildcard *.example.com
[Mon Aug 17 20:02:50 2015] [notice] [client ...] [mod_vhost_ldap.c] translate: virtual host not found, trying wildcard *.example.com
[Mon Aug 17 20:02:50 2015] [notice] [client ...] [mod_vhost_ldap.c] translate: virtual host not found, trying wildcard *.example.com
Как исправить ошибки и реализовать следующее?
Спасибо!
Страниц (2): « 1 [2]
Powered by ExBB FM 1.0 RC1. InvisionExBB