Убедитесь, что субдомены включены на вашем сайте.Когда вы заходите на test.yoursite.com, он должен перейти на страницу приветствия вашего сайта.Если вместо этого он выдает ошибку поиска DNS, это означает, что субдомены на вашем сайте не активированы.
Чтобы включить субдомены на вашем сайте, добавьте запись *.yoursite.com
в записи зоны DNS.
Затем вставьте следующий код в ваш файл .htaccess
и, соответственно, замените yoursite
.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#codeigniter specific rule
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#codeigniter specific rule
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
#this rule removes www from the URL if its used
RewriteCond %{HTTP_HOST} ^www.
RewriteRule ^(.*)$ http://yoursite.com/$1 [R=301,L]
#the auth system URIs which don't have subdomains
RewriteCond %{HTTP_HOST} ^yoursite.
RewriteRule ^(signup|signin|forgot_password)/?$ index.php?/auth/$1 [L]
#this rule handles the subdomains
RewriteCond %{HTTP_HOST} ^([a-z0-9]+).yoursite.com
RewriteRule ^(.*)$ index.php?/public_site/%1/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
При необходимости добавьте дополнительные правила для обработки аутентификации системы или поддоменов.Я знаю, что мой сайт получил красивые URI.
Важное замечание:
Я обнаружил, что по умолчанию URI поддоменов очень хорошо работают с codeigniter без каких-либо из вышеперечисленных правил.Вы можете получить доступ ко всему сайту с test.yoursite.com/#
URI вместо www.yoursite.com/#
.Но URI не являются красивыми, и существует более одного способа доступа к URI.
Так что, если вы используете вышеуказанные правила, это даст вам красивые URI и, что более важно, будетдать вам уникальные URI .Поэтому, если вы используете вышеуказанные правила, вы получите только один URI для страницы регистрации, а это http://yoursite.com/signup
.