Я знаком с изменениями файлов htaccess, но не уверен, что возможно следующее:
В конечном счете, я хочу указать пользователям «мнимые» субдомены (те, которые не существуют), чтобы субдомен можно было правильно проанализировать с помощью PHP и MySQL для поиска информации о конкретном члене.
Например:
Когда кто-то заходит на сайт www.site.com, он показывает родительский сайт, включая информацию о том, как стать участником. Когда человек становится участником, его «уникальный» URl:
www.site.com? MemberID = 12345
в конечном счете, принуждение участника к тому, чтобы он помнил вопросительный знак, равный агенту, может сбить с толку наряду с необходимостью запоминать правильную прописную букву и тому подобное.
Я бы «хотел» добиться следующего:
www.12345.site.com
перенаправляет на
www.site.com / index.php (и index.php читает 12345 как функцию $ _GET для правильного поиска iD, правильного и повторного ответа на основе этого.
Я понимаю, что смогу добиться того же, используя информацию после хэша:
например. www.site.com/12345
но проблема в том, что у нас уже есть другие страницы, использующие / xxxx для изменения содержимого клиента, а также я не хочу блокировать чью-либо возможность просто посетить: www.site.com/contact, например,
(где сайт перенаправляется в индекс, пытается найти memberid = 'contact' и не находит результатов).
первоначальные мысли:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC]
RewriteRule (.*) http://subdomain.example.com/$1 [R=301,L]
но, похоже, не работает. Примечание: мой файл htaccess также в настоящее время удаляет файл exnteions для всех страниц (например, www.site.com/contact.php отображается как www.site.com/contact)
Любая помощь приветствуется.
Обновление относительно первого предложения -
Мой .htaccess в настоящее время:
ErrorDocument 404 /404.php
Опции + FollowSymlinks
ПереписатьEngine на
RewriteCond% {REQUEST_FILENAME}! -D
RewriteCond% {REQUEST_FILENAME} .php -f
RewriteRule ^ (. *) $ $ 1.php
RewriteCond% {HTTP_HOST} ^ (\ w +). Site.com $ [NC]
RewriteRule (. *) /Subdomain.php?id=%1 [L]
Я бы ожидал, исходя из своих потребностей, что набрав www.something.site.com, я буду перенаправлен на: www.site.com/processing_page.php?something
вместо этого, он просто перенаправляет на мою посредническую страницу хостинга (по сути, заявляя, что субдомен с именем «что-то» не существует.
Если я просто захожу на www.site.com, выдается ошибка 503:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, EMAIL and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache Server at www.contendertest.com Port 80
Журнал ошибок Apache:
[Чт 27 января 12:43:37 2011] [ошибка] [клиент 1.2.3.4] Запрос превысил 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. Используйте LimitInternalRecursion, чтобы увеличить лимит, если это необходимо. Используйте 'LogLevel debug', чтобы получить обратную трассировку.
Попытка 2
Мой файл .htaccess теперь разделен на:
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.+)\.site\.com
RewriteRule .* http://site.com/processing_page.php?ID=%1 [L,R]
Тем не менее, это все еще указывает на случайную целевую страницу моего медиа-храма.