Kombinace htaccess CMSMS s výchozím htaccess pro přístup k subdoménám
Dobrý den,
přecházíme na váš webhosting s hlavní prezentací vytvořenou v CMSMS a dále i 2 subdoménami, na nichž jsou podružné prezentace mimo CMSMS.
U původního webhostingu byly subdomény řešeny jinak (dle našeho názoru mnohem lépe), kde hlavní doména byla v adresáři www v rootu, subdomény v dalších adresářích v rootu.
Žádný htaccess nebyl potřeba pro přístup k subdoménám.
Jakým způsobem máme vyřešit přístup k subdoménám u WEDOS?
Existuje možnost vytvořit subdomény jen pomocí adresářové struktury bez htaccess, tak jako u původního webhostingu?
Pokud ne, tak jakým způsobem máme u vás kombinovat htaccess CMSMS s vaším htaccess pro přístup k subdoménám?
Požadavky CMSMS:
#
# The following is to enable pretty URLS, only applicable if url_rewriting is set to ‚mod_rewrite‘ in the config.php
#
<IfModule rewrite_module>
RewriteEngine on# If your CMSMS installation is in a subdirectory of your domain, you may need to specify the relative path (from the root of the domain) here.
# i.e: RewriteBase /cmsms
RewriteBase /#
# Rewrites urls in the form of /parent/child/grandchild but only rewrites if the requested URL is not a file or directory.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]</IfModule>
Výchozí požadavky WEDOS:
# htaccess rules for subdomains and aliases
# to create new subdomain, create a folder www/subdom/(subdomain name)
# to create web for alias, create a folder www/domains/(whole domain name)# htaccess pravidla pro subdomeny a samostatne weby aliasu
# pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny)
# pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev)
# dalsi info a priklady: https://kb.wedos.com/cs/webhosting/htaccess/htaccess-na-webhostinguRewriteEngine On
# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]# aliasy – spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]# subdomeny – spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]
Pokud oba soubory spojíme do jednoho (htaccess WEDOS přidáme na konec htaccessu od CMSMS), tak web přestane fungovat, hlásí to různé chyby.
Děkuji
4 Answers
Děkuji, tak toto opravdu pomohlo a adresářová struktura je nyní přehledná a víceméně shodná s původním webhostingem.
Bylo by vhodné doplnit tyto informace do https://kb.wedos.com/cs/webhosting/webhosting-subdomeny/, resp. upřesnit zde informace o konfliktu .htaccess.
Konkrétně do odstavce
Subdomény v www/domains
doplnit, že při konfliktu .htaccess nelze použít přístup přes www/subdom (hlavní web mít přímo ve www/ a subdomény ve www/subdom/).
Prosím také o zveřejnění tohoto vlákna, tak aby bylo dostupné i pro ostatní uživatele.