mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-08 03:09:39 +03:00
Moved to new domain #736
Closed
opened 2026-02-04 22:06:56 +03:00 by OVERLORD
·
11 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐕 Support
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#736
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @andresilva-cc on GitHub (Jul 4, 2018).
I was using BookStack in a domain for some time, then I moved the application to another VM with another domain. I've done all the migration correctly, copied the uploaded images, then I realized that the images inside each page are still pointing to the old domain.
Is there a tool to change this easily? By the way, I think the correct way would be to point the images relative to the root of the website (/).
@lommes commented on GitHub (Jul 4, 2018):
Sadly there is no tool, but this should be not very hard to fix directly in your database.
For mysql there is replace which can be used like explained here: https://stackoverflow.com/a/10177250
so something like
should do the trick. Maybe some longer expressions are better to make sure it only changes urls in img-tags.
Backup your database before running this, because it is untested
@andresilva-cc commented on GitHub (Jul 6, 2018):
That worked, thanks!
@Dsignmind commented on GitHub (May 17, 2019):
Life saver.
Thanks for this!
Company decided on a domain change and everything broke.
@rec commented on GitHub (Dec 7, 2019):
Wait, so the URL of the domain is hardcoded in the database?
So my current plan to test this on a staging server with a few people and then switch over seamlessly is doomed to failure?
@ssddanbrown commented on GitHub (Dec 7, 2019):
@rec Absolutely, unless you run a couple of replace statements on your DB after switching as per the above (There's an outstanding issue to handle this via a command in the future).
@rec commented on GitHub (Dec 8, 2019):
Yes, I did read that you have to change the data in the database in order to serve on a different domain, which is why I commented.
For example, what happens if the string in question in your "find and replace" happens to appear in user-entered data?
But more, the idea that you have to run a database find and replace just to deploy seems :-o.
You have to make a change, after which you can no longer use that database in the test area to test it, so you just have to push it over the production version, and hope it works?! Can you name some other well-known system that forces you to do this?
Handling it with "a command" doesn't fix any part of the problem. The issue isn't typing a few commands - it's that you have built-in fragility with a database that's hardcoded to a fixed endpoint.
Why are you storing the domain name in the database? And not just in one place, but many? It has many disadvantages and no advantages I can see.
The domain name should be in a single configuration file, not in a bunch of places in the database.
@ssddanbrown commented on GitHub (Dec 9, 2019):
@rec
Then you might have a hard time, Should generally be a rare event for people though unless you're hosting other services on a sub-path of your main BookStack URL.
Wordpress
I mean, It has literally fixed the issue, and makes it a non-concern, for others in the exact same scenario. I've migrated wordpress instances many times using "a command" with great success.
Yeah, It's a design choice I've made and one that I stand by. The main negative impact of it that I see are for users that want to host on multiple protocols (TOR and HTTPS for examples). I know it seems bad in the perspective of a dev but in reality it's just so damn practical. Keeping links absolute makes implementation & debugging a fair amount easier.
There would be two main alternative options as far as I can see:
The first is probably more viable than the second although it gets complicated when sub-paths and proxies come into play. Additionally, relative links could make such location change operations harder as the find/replace pattern is way more generic and there's much higher chance of conflicts.
Using ids introduces a lot of logic complexity. Custom logic would be needed anywhere content is displayed or used, Which makes the content less portable and more complex to handle; Something I'm very much against in a user-content focused platform such as this.
@canlann commented on GitHub (Mar 21, 2024):
The Issue would have to be reopened.
I did followed the Documentation and changed the URL to my new domain. It did only function half way.
Some reference links were being updated, some were not. The linux log shows successfull changes of approx. more than a thousand entries. No errors in the logs connected with the php artisan command of changing url, clearing server cache and reindexing sql database.
Result:
Moved to new domain, changed url references in sql database with php artisan. In the end the webpage updated a few routes
on the primary page ( http://url.domain and https://url.domain ), but did not update the links on pages beyond the root domain route ( e.g. http://url.domain/login has still reference links that route me to http://oldurl.domain ).
I am unsure where the solution could be, but I am suggesting that either the php artisan script has to updated to the mysql version or sql database has been updated succefully but there are source code errors in html files and so forth.
Unfortunately this way made me lose my curated bookstack server.
Hint for people with exactly the same problem:
Try to reobtain your oldurl and go to an older server image, sqldump, etc. pp.
@jhume commented on GitHub (Jun 4, 2024):
Same problem as Canlann, lots of the inner pages still have broken links (login, home link, link to books on /books page. I did a find/replace on the entire SQL file but still there are some incorrect links. Strange. Have cleared memcache etc on the server too.
I ran these commands on the server:
php artisan bookstack:update-url http://olddomain.com https://newdomain.com
php artisan cache:clear
@ssddanbrown commented on GitHub (Jun 4, 2024):
@jhume You also need to update the
APP_URLin your.envfile (or docker environment)@jhume commented on GitHub (Jun 4, 2024):
Ah, I'd totally forgotten the URL was stored in the .env file. Thanks so much for your quick reply!