Arhlit - информационные технологии

Как указать все поддомены на index.php

Я пытаюсь разместить сайт, на котором страницы профилей пользователей имеют уникальные субдомены, такие как имя_пользователя.имя_сайта.com. Мне нужно решение Apache/VirtualHost для указания *.sitename.com на sitename.com/index.php, где я мог бы выбрать, какой субдомен идет со страницей профиля, а какой будет показывать ошибку 404.

Пожалуйста, помогите мне настроить .htaccess

28.04.2013

  • Это невозможно сделать с файлом .htaccess. 28.04.2013
  • Catchall DNS запись или что теперь? 28.04.2013

Ответы:


1

Вам нужна только правильная настройка VirtualHost.

<VirtualHost *:80>
  ServerName example.com 
  ServerAlias *.example.com

  [...] 

</VirtualHost>

Поскольку index.php находится в DirectoryIndex, он вызывается автоматически, независимо от того, какой домен вызывается. Динамически реагируйте, если у вас есть доступ к запрошенному хосту через переменную $_SERVER['HTTP_HOST'].

28.04.2013

2

Лучше всего сделать это с помощью перенаправления 301 на уровне сервера в файле httpd.conf (или включенном файле конфигурации). Вместо того, чтобы создавать VirtualHost и заставлять сервер отвечать и фильтровать файл .htaccess для каждого домена, вы можете настроить перенаправление в самом VirtualHost.

Вы можете сделать это с помощью mod_rewrite.

<VirtualHost *>
  ServerName subdomain.example.com
  RewriteEngine on
  RewriteRule ^/(.*)$ http://example.com/index.php [L,R=301]
</VirtualHost>

<VirtualHost *>
  ServerName subdomain2.example.com
  RewriteEngine on
  RewriteRule ^/(.*)$ http://example.com/404.php [L,R=301]
</VirtualHost>

или если вы используете mod_alias, вы можете использовать это:

<VirtualHost *>
  ServerName subdomain.example.com
  Redirect 301 / http://example.com/index.php
</VirtualHost>

<VirtualHost *>
  ServerName subdomain2.example.com
  Redirect 301 / http://example.com/404.php
</VirtualHost>
28.04.2013
Новые материалы

12 сайтов с искусственным интеллектом, которые поразят вас
Приготовьтесь поразить воображение Сегодня существует несколько веб-сайтов, использующих искусственный интеллект (ИИ). От индивидуальных рекомендаций по новостям до более умных поисковых..

Скрытый технический долг в системах машинного обучения [NeurIPS 2015]
Что такое технический долг? Технический долг — это метафора, введенная Уордом Каннингемом в 1992 году, чтобы объяснить долгосрочные затраты, связанные с быстрым продвижением в разработке..

Алгоритм быстрой сортировки в Python
Всем привет, добро пожаловать на programminginpython.com . Здесь я покажу вам, как реализовать алгоритм быстрой сортировки в Python. В предыдущих статьях я рассмотрел Сортировку вставкой ,..

Как использовать манипулирование объектами в JavaScript
Объекты являются важным строительным блоком JavaScript. Они позволяют группировать свойства и методы вместе. Объект представляет собой набор свойств. Свойства идентифицируются с..

Разработка игр с помощью Godot Engine: мощный инструмент с открытым исходным кодом
Разработка игр — творческий и сложный процесс, требующий множества навыков и инструментов. Одним из наиболее важных инструментов является игровой движок, который представляет собой программную..

От XML к аннотациям: переход к современной конфигурации Spring
Введение Фреймворк Spring претерпел значительную эволюцию с момента своего создания. Одним из заметных изменений стал переход от конфигураций на основе XML к конфигурациям, управляемым..

Я люблю Руби!
Я люблю Руби! Мне это нравится по той же причине, по которой мне нравится программировать на Python. Он настолько интуитивно понятен, а встроенные методы упрощают решение проблем. Если вы..