Binds domain url to arbitrary theme or page/staticpage
It`s best way for create multiple websites on different multiple domains or subdomains on single installation of OctoberCMS. This is great for theme demos and host multiple of your own websites. One of the obvious uses is the creation of a mobile version of the site.
It`s stable and works in production !
- Register regular pages or static pages for domain or url (static pages works if Rainlab.Pages plugin install)
- Register theme for domain or url (does not depend on an active theme)
- Prefixing the internal page
- Suffixing the internal page obtains from the binding path and the current request
- Presettings multiple internal page parameters
- Easy redirect with added suffix from Request url
- Very flexible routing setting
- Adding replacing all url on page according to your bindings table
- Support RainlabUser and BackendUser for set access to page/backend
- Filter which domains can use backend
For details see the plugin documentation and example settings on my Live demo
Backend (mdomains/admin): https://mdomains.test.linkonoid.com/backend/backend/auth/signin
- https://domain1.test.linkonoid.com (Theme responsiv-clean, Page: all theme pages),
- https://domain1.test.linkonoid.com/blog?par=5 (Theme responsiv-clean, with Suffix, Path diff and Get, Page: /blog/category/:slug/:page?)
- https://domain3.test.linkonoid.com (Theme responsiv-clean, Page: /blog/rss.xml),
- https://domain3.test.linkonoid.com/newajax (Theme demo, with Suffix, Page: /demo/ajax)
My others quality plugins:
- UniDoc(Generate Excel, Word (PhpOffice), Pdf (Snappy || mPDF || TCPD || Dompdf) documents easy on fly and make manipulations with files)
- Expander (Extend all available models: adding all types custom fields +attributes for model with in database save, and controllers: extends lists and adding custom Behaviors with built-in CMS tools in easy visual mode)
- Back To Front (Components for creates All Backend Widgets in Frontend pages: Lists, Search, Filter, Forms, FormWidgets, MediaManager, Reports and manage this items)
- Backend Menu (Complete change and reconfiguration of all menus in backend: adding, rename, move, hide, icons adding and change)
- Backend Popup (Quick modify records in backend controllers lists in modal popup mode)
- Datatables (View big data table on page in Ajax-mode)
- Auto SEO (Full SEO automate. Generate SEO tags based on rules and page content data)
- Desktop application builder (Free experimental plugin. Easy make Desktop Application on OctoberCMS base)
- Shortcodes Engine (Free plugin. Core plugin for includes shortcodes in page content, support Static pages)
- Include Content (Free plugin. Include content on page from other site or file)
- AdSense (Free plugin. Enables to use AdSense on page)
Demonstration all pages in theme to domain binds (Themes demo and demo2):
- https://domain2.test.linkonoid.com (Theme demo, Page: all theme pages)
- https://sub.domain2.test.linkonoid.com (Theme demo2, Page: all theme pages)
- https://redirect.test.linkonoid.com (Redirects to https://sub.domain2.test.linkonoid.com, and with enabled suffix switch: https://redirect.test.linkonoid.com/suffix redirects to https://sub.domain2.test.linkonoid.com/suffix)
Presettings params and prefix page url demo page(on start have 2 pages: test with "/:lang" and test2 with "/prefixtest/:lang"):
- https://params.test.linkonoid.com (Params = "/:lang?en" with Prefix "/prefixtest", Total page test2 with internal url = "/prefixtest/en" )
Demonstration UserGroups access to page/backend (demo only for backend and user "Mdomains", group "Guest", login/password "mdomains/admin"):
- https://mdomains.test.linkonoid.com/backend/backend/auth/signin (enabled access, no bind to url in settings)
- https://sub.domain2.test.linkonoid.com/backend/backend/auth/signin (disabled access, this url bind for only default "Owners" backend group, for "Mdomains" with group "Guest" - denied)
Demonstration select active/edit theme in backend depending on the domain (login/password: "mdomains/admin"):
- https://domain2.test.linkonoid.com/backend/cms (see dashboard theme)
- https://sub.domain2.test.linkonoid.com/backend/cms (see dashboard theme)
Why is this plugin paid?
- This is not a trivial plugin and it took a lot of time to develop it. The real development cost is much higher
- You are guaranteed to receive support. Unfortunately, time a developer costs money
- Need to pay demo servers
- You help the OctoberCMS project to develop, as 30% of the payment goes to its development
- I would love to make this plugin public, but even the minimum fee gives an incentive to its further development and support
If You added NEW domain! You need to understand that in order to use this plugin, you must first register DNS-records A or CNAME and writes virtual hosts on the server (all domains must be registered in the server configuration as virtual hosts with the same parameters as the primary domain).
Default the plugin is installed in the standard mode. In this mode only redefined core Cms Router class and no all plugins support (not work all Router properties in Controller). In v.1.0.5 added Hard mode install with little modify core CMS class (I'm not in favor of changes in the kernel of the system, but without this way full compatibility can not be achieved). Changes neither affect the operation of the system and other plugins.
Now more in detail how to work with extended routers (v.1.1.0)
The current page is defined by 3 links:
- Internal page path (Page-url), Page-url: /page/pagename
- Binded domain link (Bind-url), Bind-url: http://binddomain.com/par1/par4?par5=1par6=5
- Link current request (Request-url), for example: Request-url: http://binddomain.com/par1/par2/par3?par6=7
Number N for suffix search. It determines from which parameter of the request the suffix should be formed.
- Suffix="/par4/par2/par3" (it's right if difference value DiffValue=2, if DiffValue=1 - result "Page not found", if DiffValue=0 - result "Page not found" )
- Autochanged Bind-url: http://binddomain.com/par1
- N=0 - all parameters is suffix, N=empty - no suffixing
Difference value DiffValue
It difference between Request-url path and Bind-url path (in number path parameters: 0, 1 ...).
Remove page path parameters
If this enable then removes all "/:par","/:par*" from dynamic Page-url (excluding clearly established "/:par?arg")
GET-request merge from Request-url GET, Bind-url GET (ascending the priority of argument values for parameters).
Bug fix with change Theme first user if authorization second user in backend
Dec 09, 2019
Bug fix with set Theme for domain after user authorization in backend (for CMS pages edit)
Dec 09, 2019
Fix bug with user group authentification in Backend
Dec 08, 2019
Bug fix on Migration files.
Oct 07, 2019
Fix error in binding settings for empty Domain Url suffix.
Oct 06, 2019
Added support select active/edit theme in backend for bind to user group. Added default active/edit theme in plugin Settings.
Sep 13, 2019
Added rules for RainlabUser and BackendUser groups to Domain Url bind. Refactoring code for optimized pages speed load. Fixed bugs. Small changes in interface.
Sep 06, 2019
Added Redirect, Presetting params and Prefix for Page Url. Updated replacer Router.php for "hard mode".
Aug 05, 2019
Bug fix routing with not bind url
Aug 02, 2019
Bug fix routing for select page url "ALL_THEME_PAGES_WITH_ROUTE_PATCH"
Apr 30, 2019
Bug fix "Hard mode work"
Apr 30, 2019
Bug fix on Russian translation
Mar 18, 2019
Bug fix on settings tables
Mar 18, 2019
Bug fix on "Protect backend on this domain"
Jan 08, 2019
Bug fix on selecte ALL_THEME_PAGES_WITH_ROUTE_PATCH
Jan 08, 2019
Events shema update for not conflict others plugins
Dec 18, 2018
!!!Attention. In version major changes have been made to the logic of the plugin. Added extending routing rules with support path parameters/arguments and get parameters/arguments for page. Added replacing all url on page according to your bindings. Added others little changes.
Dec 12, 2018
Added configuration for plugin to change plugin mode in non-manual. Added 6 languages translates.
Sep 27, 2018
Fixe bug with run if not install StaticPages plugin (bug from v1.0.1). Fix bug with select first theme in admin option select (bug from v1.0.4). Adding Hard mode install with little modify core class "Cms\Classes\Router" in hand mode for FULL support ALL others plugins
Mar 14, 2018
Added default page url "ALL_THEME_PAGES_WITH_ROUTE_PATCH". If this selected, all theme pages binding to new domain one-to-one. Added support path new domain. If set domain path to "http://domain.com/demo", all theme pages, begin on "/demo", path route on new domain url. On create new bind, auto setting on default options current default cms theme and page url "ALL_THEME_PAGES_WITH_ROUTE_PATCH".
Mar 01, 2018
Fixes trubles with protected variables in StaticPages support. Little code refactoring.
Jan 10, 2018
Adds work with Rainlab.Pages. Fixes little trubles with themes in domain settings.
Dec 28, 2017
Dec 15, 2017