Не слишком уверен в том, как go найти лучший способ об этом. Но то, что я пытаюсь создать, очень похоже на генерального c провайдера общего хостинга, но в Symfony.
Допустим, у меня есть сайт myawesomesite.com. Пользователи могут зарегистрироваться и иметь собственное пространство myawesomesite.com/sites/theusersdomain.com/.
Я могу создать такой маршрут, без проблем ...
/**
* @Route("/sites/{client_website_address}", name="client_public")
*/
public function _client_index($client_website_address) {
return new Response($client_website_address);
}
В конечном итоге я бы например, у пользователя есть собственное доменное имя, указывающее на этот маршрут. Можно ли это сделать через Apache VirtualHost? (Мне это понадобится для сертификата SSL / TLS) Я сделал это, но не могу понять, как указать на маршрут.
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
#Client websites
<VirtualHost *:80>
VirtualDocumentRoot "/var/www/html/myawesomesite.com/public"
<Directory "/var/www/html/myawesomesite.com/public">
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
Нужно ли мне также добавить в мой текущий файл .htaccess? Мой текущий .htaccess является стандартным для Symfony .. (я, вероятно, объединю файл .htaccess с VirtualHosts позже)
<IfModule mod_rewrite.c>
RewriteEngine On
# Determine the RewriteBase automatically and set it as environment variable.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
# Rewrite all other queries to the front controller.
RewriteRule .? %{ENV:BASE}/index.php [L]
</IfModule>
Я исследовал несколько подобных, но ничего, что могло бы этого достичь, разве есть способ лучше? Мне нужно, чтобы домены были динамическими c. Пользователь будет go на свой URL-адрес, а их do c root должен быть моим Symfony маршрутом (https://myawesomesite.com/sites/theusersdomain.com/).