У меня проблемы со ссылками на страницы при использовании поддомена с подстановочными символами, и я хотел бы немного помочь в поиске решения.
Я хочу, чтобы пользователи имели свой собственный поддомен для просмотра содержимого своего веб-сайта, так что еслипользователь вводит в «user1.domain.com», сервер будет иметь правило перезаписи, которое направляет запрос на страницу index.php в корневом каталоге.Эта страница index.php будет использоваться для всех поддоменов и будет обслуживать содержимое из базы данных на основе поддоменов, переданных в строке запроса.
Эта часть отлично работает и обслуживает содержимое из index.phpкак это должно.Когда страница index.php загружается, она включает меню (HOME | RENTALS | CONTACT US).Проблема возникает, когда я нажимаю на ссылку меню, чтобы перейти на другую страницу.URL-адрес изменяется, но содержимое страницы не меняется.
Вот пример: если я нажимаю «АРЕНДА», я хочу, чтобы пользователь зашел на страницу rentals.php и отобразил аренду, доступную для субдомена «user1» ... но вот что происходит:
Сценарий связи 1:
<a href="http://user1.domain.com/rentals.php">RENTALS</a> --> URL address bar changes to "user1.domain.com/rentals.php" but the page doesn't change, it still stays on the index.php content
Сценарий связи 2:
< a href="rentals.php" >RENTALS< /a > --> URL address bar changes to "user1.domain.com/rentals.php" but the page doesn't change, it still stays on the index.php content
Сценарий связи 3 (если я жестко закодирую домен и опускаю субдомен подстановочного знака, ссылка работает):
<a href="http://www.domain/public_site/rentals.php">RENTALS</a> --> URL address bar changes to "http://www.domain.com/public_site/rentals.php" AND IT WORKS, the rentals.php page loads and serves up the content.
Проблема со сценарием 3 заключается в том, что я хочу, чтобы URL читал: "user1.domain.com/rentals.php"
Мне интересно, можно ли это настроить впереписать условие, но я не могу понять его.
Если кто-нибудь может помочь, я был бы признателен!
Вот моя структура каталогов:
ROOT
|
PUBLIC_SITE
|
index.php
rentals.php
contactus.php
Вот правило переписывания apache (работает 1-е правило. 2-е правило, которое я добавил в надежде решить мою проблему, но оно не решило проблему):
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
####Rewrite subdomain request to public_site/index.php
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule ^(.*)$ /public_site/index.php?subdomain=%2 [L]
#### Rewrite rule for rentals.php page
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com/rentals.php [NC]
RewriteRule ^(.*)$ /public_site/rentals.php?s=%2 [L]
</IfModule>