RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Приведенный выше код — это пример наиболее стандартного и правильного htaccess для Вордпресс. Находится он в корневой папке сайта.
Если же у вас по каким то причинам этот файле не появился, вы можете создать его самостоятельно, либо скачать по ссылке (файл в архиве zip)
В общем то можно ограничиться этим файлом. Но вы можете настроить дополнительные инструкции, которые улучшат ваш сайт в глазах поисковых систем, усилят защиту файлов сайта и т.д.
Под улучшением для поисковых систем я имел ввиду, что в htaccess можно сделать редирект адресов страниц с www на адреса без него. Дело в том, что адрес сайта может быть записан с www, то есть в виде http://www.ваш_сайт, а также без него, то есть http://ваш_сайт. Желательно склеить эти два представления, чтобы сосредоточить ссылочный вес на одном из них.
Автор Ложников АндрейВремя чтения 2 мин.Просмотры 236Опубликовано Обновлено
Пишем ЧПУ и редиректы — Частный вебмастер Дмитрий Ильичев
Столкнулись с необходимостью написания ЧПУ в одном из проектов и делимся опытом по этому поводу.
Дано:
- Сервер под управление Apache;
- Скрипт, который выдает разный контент исходя из GET параметров;
- Ссылки вида
http://site. .*$ http://site.com/new/edit/? [L,R=301]
С первыми двумя все ясно. Старый адрес, потом новый. Если писать не
Redirect
, аRewriteRule
, то нужно еще указать флагR
и код редиректа.Третий вариант перенаправляет по новому адресу по различным GET-параметрам.
RewriteCond
определяет условие сработает правилоRewriteRule
.- REQUEST_URI — Адрес, по которому осуществляется запрос;
- QUERY_STRING — Строка с GET-параметрами.
Если оба этих условия совпадают, то срабатывает правило, по которому с указанного адреса посетителя сайта переадресуют на указанный новый.
Представленные примеры позволяют подготовить самописный сайт без ЧПУ к продвижению в поиске.
Настройка Apache и nignx Конфигурационные файлы: apache2.conf, .htaccess и nginx.conf
Веб-серверы Apache и nginx позволяют просто настроить основные параметры вашей работы. Начнем с Апача.
.htaccess и конфигурация Apache2
Основным файлом конфигурации является apache2.
conf, который в Ubuntu хранится в папке /etc/apache2/.Пример настроек в файле apache2.conf:
KeepAlive On #включение использования постоянного соединения между сервером и клиентом MaxKeepAliveRequests 100 # максимальное количество запросов в рамках одного подключения KeepAliveTimeout 30 #сколько секунд после последнего запроса сервер держит соединение Протоколы h3 h3c http/1.1 # Версии протоколов HTTP, для которых веб-сервер принимает запросы AccessFileName .htaccess #имя файла, позволяющего сделать дополнительные настройки Listen *:80 #прослушивание порта 80 по умолчанию
#если модуль ssl включен, то слушаем 443 порт Слушайте *:443 ЕслиМодуль> Индивидуальные настройки для каждого сайта лучше сделать уже в определенных папках внутри /etc/apache2/sites-available/site-folder/domain-name.conf.
Важно не забыть установить права доступа к папкам и файлам внутри каталога с сайтом. Папки - 755, файлы - 644.
Пример такого файла:
#первый блок будет перенаправлять на https версию сайта с помощью настроек в файле.htaccess
#номер порта, к которому применяются приведенные ниже настройки, 80 port = http имя_сервера site.ru #имя_домена DocumentRoot /var/www/site.ru/html #ссылка на папку, в которой хранится сайт <Каталог /var/www/site.ru/html> #доступ к настройкам папки, в которой хранится сайт Опционы Индексы FollowSymLinks MultiViews Разрешить переопределить все Порядок разрешить, запретить разрешить от всех Каталог> ErrorLog ${APACHE_LOG_DIR}/error.log #ссылка на файл журнала ошибок виртуальный хост> #номер порта, к которому применяются приведенные ниже настройки, 443 port = https Имя сервера site.ru ServerAdmin [email protected] #почта администратора SSLEngine о разрешении использования ssl-сертификата SSLCertificateFile "/root/site.crt" #путь к файлу сертификата SSLCertificateKeyFile "/root/site. key" #путь к файлу с ключом сертификата Корень документа /var/www/site.ru/html <Каталог /var/www/site.ru/html> Опционы Индексы FollowSymLinks MultiViews Разрешить переопределить все Порядок разрешить, запретить разрешить от всех Каталог> Журнал ошибок ${APACHE_LOG_DIR}/error.log виртуальный хост> И самый последний конфигурационный файл по уровню (после включения возможности его использования) - .htaccess. Важно, что на виртуальном хостинге у вас не будет доступа к 2 файлам показанным выше.
Content.htaccess уже зависит от конкретных CMS/фреймворков. То есть одна и та же функция на WordPress и Modx не обязательно будет одинаково прописана в .htaccess.
конфигурация nginx
Основным файлом конфигурации является nginx.conf, который в Ubuntu хранится в папке /etc/nginx/. Точно так же там хранятся основные настройки сразу для всех сайтов. А уже в папке /etc/nginx/sites-available/ хранятся настройки для конкретных сайтов.
пользовательских www-данных; #пользователь,который запускает веб-сервер рабочие_процессы авто; #количество процессов, можно задать вручную = количеству ядер процессора pid /run/nginx.pid; #id процесса веб-сервера включить /etc/nginx/modules-enabled/*.conf; #подключение модулей nginx # ниже стандартные настройки, аналогичные Apache события { worker_connections 768; мульти_принять; } http { отправить файл включен; tcp_nopush включен; tcp_nodelay включен; keepalive_timeout 30; типы_хэш_макс_размер 2048; map_hash_bucket_size 64; server_names_hash_bucket_size 64; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #подключить ssl ssl_prefer_server_iphers включен; журнал_доступа /var/log/nginx/access.log; # журнал_ошибок /var/log/nginx/журналы error.log; gzip включен; # включение сжатия gzip включить /etc/nginx/conf.d/*.conf; включить /etc/nginx/sites-enabled/*; #подключение файлов из внутренних папок для индивидуальной настройки }
И последний пример — файл конфигурации внутри папки /etc/nginx/sites-available/ для определенного сайта, где nginx выступает в роли обратного прокси для приложений nuxt. /(.*)/$ /$1 навсегда; расположение / { истекает 31557600; #указываем период кеширования статических файлов в секундах proxy_redirect выкл.; proxy_set_header Хост $host; #set_header установить заголовки ответа сервера proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $схема; proxy_read_timeout 1 мин.; proxy_connect_timeout 1 мин.; proxy_pass http://localhost:3000 ; #путь с портом, на котором запущено приложение nuxt.js } } сервер { слушать 443 ssl; #перенаправить с https://www.site.ru на https://site.ru имя_сервера www.site.ru ; SSL включен; #без подключения ssl сертификата будет выдаваться ошибка ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate /etc/ssl/certs/site.crt; ssl_certificate_key /etc/ssl/certs/site.key; ssl_prefer_server_ciphers включен; вернуть 301 https://site.ru$request_uri ; }
Это обзорная статья, в которой показан примерный принцип настройки веб-серверов .
Для более тщательной настройки рекомендую изучить полноценные материалы и мануалы на специализированных сайтах. Эта статья является входным билетом в настройку веб-серверов.Не забудьте перезапустить процессы веб-серверов после обновления файлов конфигурации.
Числа
Установка и настройка веб-сервера и базового ПО на VDS/выделенном сервере - от 30 минут до 2 часов.
Улучшите скорость своего сайта и SEO с помощью сжатия GZIP
Если у вас уже давно есть веб-сайт или блог для вашего бизнеса, скорее всего, вы слышали о сжатых страницах. Но что это такое и как это может помочь вашему сайту? Этот пост в блоге даст вам подробную информацию о том, что это такое, как его использовать и почему это важно для оптимизации вашего веб-сайта.
Что такое сжатие файлов
Существует процесс, позволяющий сделать веб-страницу видимой после нажатия на ссылку. Сначала ваш интернет-браузер отправляет запрос на сервер, затем сервер ищет файл, чтобы показать вам искомую веб-страницу. Иногда серверу требуется некоторое время для загрузки файла, потому что размер файла слишком велик. Это займет время и, естественно, придется ждать, пока все загрузится.
Здесь на помощь приходит сжатие файлов. Настройка сжатой версии файлов займет меньше времени для отправки в браузер. Это потому, что после того, как файлы будут «заархивированы», их размер станет меньше.
Почему сжатие файлов важно для SEO?
Большие файлы веб-страниц замедляют процесс передачи файлов. Это может привести к тому, что пользователь просто сдастся и начнет искать другой похожий, быстро загружаемый веб-сайт. Когда вы используете сжатые файлы, вы можете уменьшить размер файлов веб-страниц до 70%. Это, в свою очередь, ускорит загрузку вашей страницы, удовлетворит пользователя и улучшит рейтинг поисковых систем.
Какие у вас есть варианты сжатия файлов?
У вас есть несколько способов сжатия файлов: использование DEFLATE и GZIP. Если у вас много изображений или действительно большие файлы веб-страниц, вам следует выбрать GZIP, так как он имеет более высокую степень сжатия. DEFLATE, с другой стороны, поставляется с сервером Apache и прост в настройке. Кроме того, DEFLATE лучше, когда у вас более 1000 уникальных посетителей в день, потому что он не использует много энергии для сжатия файлов.
Примечания по использованию DEFLATE
С учетом того, что было сказано в предыдущем абзаце, выбор процесса сжатия файлов зависит от того, какой сервер вы используете для своих веб-сайтов. При использовании Apache рекомендуется использовать DEFLATE, так как вы можете легко сжать файлы, включив несколько кодов deflate в файл .htaccess. Файлы, которые вам понадобятся, находятся в главном каталоге панели ЧПУ вашего веб-сайта. Используйте http://www.example.com/.htaccess. Однако вам необходимо получить доступ к местоположению файла через панель ЧПУ, поскольку к каталогу нельзя получить доступ через поле URL-адреса вашего браузера.
Итак, если вы хотите сжать все файлы на своем сайте — от .txt до .html — просто добавьте к своим файлам команду AddOutputFilterByType DEFLATE. Вот несколько примеров о том, как эти коды должны выглядеть:
AddOutputFilterBytype Text/Plain
AddOutputFilterBytype Text/HTML
AddatoutputpelTerbyPepe Doptrate Dellate/Xml
AddatuTputPulTerBypepe Doptrate Text/Xml
AddAtputPulTerbypepe Doptu AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
Вы также можете выбрать определенные типы файлов на вашем веб-сайте для «сдувания». Это может быть сложно, но если вы знаете, как обойти свои коды, это можно сделать легко.
Когда вы выбираете GZIP
Если вы не заинтересованы в выполнении описанных выше шагов или хотите вместо этого использовать GZIP, вы можете нанять веб-программиста, который сделает это за вас и другие задачи программирования, такие как оптимизация ваших метаданных или создать файл robots/txt.