Как настроить htaccess для работы с несколькими сайтами?

Есть хостинг, где для основного домена невозможно изменить физический адрес на сервере (/home/troykaby/public_html). И есть несколько проектов на laravel, которые необходимо разместить на данном хостинге. Мне удалось настроить только один проект, путем добавления в .htaccess, который находиться в корне public_html, следющего:

Options +FollowSymLinks RewriteEngine On RewriteBase / # сайт troyka.by RewriteCond %{HTTP_HOST} ^troyka.by$ [NC] RewriteCond %{REQUEST_URI} !^troykaby/public RewriteRule ^(.*)$ troykaby/public/$1 [L] # сайт www.troyka.by RewriteCond %{HTTP_HOST} ^www.troyka.by$ [NC] RewriteCond %{REQUEST_URI} !^troykaby/public RewriteRule ^(.*)$ troykaby/public/$1 [L]

При добавлении аналогичного блока для другого домена в тот же .htaccess, ничего не дает. А точнее ругается на прикручиваемый домен, мол, доступ запрещен.

P.S. Поддержка хостера сказала, что адрес на сервере для основного домена изменить нельзя, хотя это решило бы много проблем.

Как заставить работать GeoIP?

Geoip стоит. Базы залиты /usr/share/GeoIP

phpinfo показывает
/etc/php.d/geoip.ini
geoip extension version 1.0.8
geoip library version 1004005
geoip.custom_directory no value no value

В php.ini прописана строка extension=geoip.so

Nginx собран вместе с geo модулем, nginx -V это подтверждает.
В nginx.conf прописано
# GeoIP geoip_country /usr/share/GeoIP/GeoIP.dat; # the country IP database geoip_city /usr/share/GeoIP/GeoLiteCity.dat; # the city IP database ### SET FASTCGI Variables ### fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code; fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3; fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name; fastcgi_param GEOIP_REGION $geoip_region; fastcgi_param GEOIP_CITY $geoip_city; fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code; fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; fastcgi_param GEOIP_LATITUDE $geoip_latitude; fastcgi_param GEOIP_LONGITUDE $geoip_longitude;

В fastcgi_params тоже
# For GeoIP fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code; fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name; fastcgi_param GEOIP_REGION $geoip_region; fastcgi_param GEOIP_CITY $geoip_city; fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code; fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code; fastcgi_param GEOIP_LATITUDE $geoip_latitude; fastcgi_param GEOIP_LONGITUDE $geoip_longitude;

php -m | grep geoip PHP Warning: Module 'geoip' already loaded in Unknown on line 0 geoip

А в тестовом файле не определяет даже страну.

Что не так с конфигом?

Прив!
index.html читает, index.php — нет. Ниже конфиг sites-available. Nginx.conf не трогал.
Права норм. php5-fpm стоит.
Что не так?
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; return 301 https://$server_name$request_uri; root /var/www/html; index index.php index.html; # Make site accessible from localhost/ server_name localhost; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # root html; # index index.html index.htm; # # location / { # try_files $uri $uri/ =404; # } #} server { listen 443 ssl spdy; ssl on; ssl_certificate /etc/nginx/ssl/bundle.crt; ssl_certificate_key /etc/nginx/ssl/main.key; # side note: only use TLS since SSLv2 and SSLv3 have had recent vulnerabilities ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #… }

Как мониторить Apache?

Помогите пожалуйста настроить мониторинг Apache.
На web сервере стоит Debian, на Zabbix — Ubuntu, настраивал по инструкции blog.bissquit.com/?p=499
и не пашет, с Zabbix сервера server-status видно
zabbix_get для Apache отдаёт пустую сроку, а для CPU показывает данные

username@srv-zabbix:/tmp$ zabbix_get -s xxx.xxx.xxx.xxx -k «apache2[accesses,http://xxx.xxx.xxx.xxx/server-status]»

username@srv-zabbix:/tmp$ zabbix_get -s xxx.xxx.xxx.xxx -k «system.cpu.load[all,avg1]»
0.070000

куда копать?

в /var/log/zabbix/zabbix_agentd.log всё чисто
spoiler
13499:20151119:100415.605 Got signal [signal:15(SIGTERM),sender_pid:29035,sender_uid:0,reason:0]. Exiting…
13499:20151119:100415.606 Zabbix Agent stopped. Zabbix 2.4.6 (revision 54796).
29061:20151119:100415.680 Starting Zabbix Agent [webserver]. Zabbix 2.4.6 (revision 54796).
29061:20151119:100415.680 using configuration file: /etc/zabbix/zabbix_agentd.conf
29061:20151119:100415.681 agent #0 started [main process]
29063:20151119:100415.681 agent #1 started [collector]
Читать дальше

Переадресация на динамичекий поддомен из папки?

Здравствуйте, около 7 часов в полном ступоре. Перепробовал куча гуглорешений из поиска!!!
Есть сайт типа infoumnik.local/sub/user1 где sub и user1 папки.
В user1 лежит файл index.php
Пытаюсь сделать доступ к папке user1 через поддомен user1.infoumnik.local через mode_rewrite
(РЕШЕНИЕ НИЖЕ)
Настроил httpd.conf следующим образом:
DocumentRoot «c:/openserver/domains/infoumnik.local» ServerName «infoumnik.local» ServerAlias «infoumnik.local» "*.infoumnik.local" ScriptAlias /cgi-bin/ «c:/openserver/domains/infoumnik.local/cgi-bin/» DocumentRoot «c:/openserver/domains/infoumnik.local» ServerName «infoumnik.local» ServerAlias «infoumnik.local» "*.infoumnik.local" ScriptAlias /cgi-bin/ «c:/openserver/domains/infoumnik.local/cgi-bin/» SSLEngine on SetEnvIf User-Agent ".*MSIE [1-5].*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 SetEnvIf User-Agent ".*MSIE [6-9].*" \ ssl-unclean-shutdown
hosts файл добавил следующее
127.0.0.1 infoumnik.local 127.0.0.1 user1..infoumnik.local 127.0.0.1 user2.infoumnik.local 127.0.0.1 user3.infoumnik.local

Файл hosts открыл возможность переходить на субдомен типа
user1.infoumnik.local
user2.infoumnik.local
Читать дальше

Как с помощью .htaccess убрать расширение файла и добавить слеш в конце url?

Собственно вопрос в заголовке. Сейчас у меня .htaccess только убирает расширение. Как еще сделать чтобы в конце слеш был?
# enable the rewrite engine RewriteEngine On # Set your root directory RewriteBase / # remove the .html extension RewriteCond %{THE_REQUEST} ^GET\ (.*)\.html\ HTTP RewriteRule (.*)\.html$ $1 [R=301] # remove index and reference the directory RewriteRule (.*)/index$ $1/ [R=301] # remove trailing slash if not a directory RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /$ RewriteRule (.*)/ $1 [R=301] # forward request to html file, **but don't redirect (bot friendly)** RewriteCond %{REQUEST_FILENAME}.html -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1\.html [L]

Редиррект из корня сайта в подпапку (без отображения подпапки в URL)?

Дано:
В папке сайта (скажем site.ru) есть две подпапки: /dev и /web.
Мне нужно, чтобы при обращении в браузере к site.ru — грузился index.php из папки /web, и при этом в URL отображалось именно site.ru, а не site.ru/web.
Как это сделать? Через .htaccess можно или где-то в настройках сервера?

P.S. В /web лежит сайт на Joomla (и в его конфиге я ничего кроме пути к логам и tmp не нашел)

Можно ли своим nginx'ом выбрать, что будет отдавать Cloudflare?

Дело в том, что сайт пока на стадии проектирования и логика сильно зависит от того, получится ли следующее:
1) Юзер делает запрос к странице, например, mysite.com/2193021
2) Cloudflare пересылает этот запрос на nginx моего хоста
3) Мой nginx проверяет, есть ли этот id в redis'е
— а) Если есть, отдает то, что сгенерит php-fpm
— б) Если нет, говорит Cloudflare отдать страницу из своего кэша
Собственно, возможно ли это сделать? С Cloudflare дел не имел, прочитал только пару мануалов.
Есть вариант возвращать какой-то код ошибки, к которому привязана статичная страница, что-то вроде 404. Но мне важно, чтобы до юзера она доходила с кодом 200 и без редиректов.

Что мешает web-серверу?

Здравствуйте. Помогите пожалуйста решить проблему. На сервере спокойно жила панель управления webmin(на 10000 порту), так же крутился апач. После установки некоторого ПО, все это перестало быть доступным. Не понимаю что может этому мешать.
nmap localhost

Starting Nmap 6.40 ( nmap.org ) at 2015-10-24 19:41 EDT
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0012s latency).
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt
Читать дальше

Можно ли в Nginx наследовать блоки?

Доброй ночи!
Можно ли в Nginx наследовать локали как инклюды или миксины?

К примеру так:
server { listen 80; location / { proxy_pass @node_proxy; # инклюд миксины } location /test/ { add_header Tester '1'; proxy_pass @node_proxy; # инклюд миксины } location @node_proxy { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass 127.0.0.1:1337; } }