If you don’t see mod_rewrite it may not be enabled
How can I enable mod_rewrite?
It would depend on your server. You may be able to use ChatGPT to guide you, otherwise I suggest asking your webhost.
Thanks for the hint with Chat GPT, sometimes I act more stupid than I am
![]()
I have consulted ChatGPT.
My settings in the .htaccess file look like this:
IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteBase /
> RewriteRule ^$ index.php [R=301,L]
> RewriteRule ^deleteme.\w+.php - [L]
> RewriteRule “^. env” - [F,L]
> # RewriteRule “^storage” - [F,L]
> RewriteRule ^(.well-known)($|/) - [L]
> RewriteRule ^(.)$ public/$1 [L]*
/IfModule>
According to ChatGPT, mod_rewrite is active.
I have just spoken to my hoster, according to him mod_rewrite is active by default.
I am now surprised that no mod_rewrite is listed under /phpinfo.php.
What other possibilities are there to identify the error?
Here’s what ChatGPT suggests:
Got it — here’s a clear explanation of what’s happening:
The error “No input file specified” usually happens on shared hosting when the server’s PHP configuration isn’t properly handling the routing of URLs to public/index.php, which Laravel (and Invoice Ninja v5) depends on.
In short: your server isn’t pointing correctly to the public/ folder, or mod_rewrite isn’t properly set up.
That’s why it says “please check that Invoice Ninja v5 is installed” — because from Laravel’s view, no valid entry point is found.
Here’s the likely causes based on your description:
- Wrong document root — your hosting is pointing to
/instead of/public. - mod_rewrite is disabled — needed for Laravel’s
.htaccessfile to work. - PHP not correctly processing paths on your host (common in some cheap shared hosting).
- Missing
.htaccessfile in/public.
Quick checklist to fix it:
Make sure your domain points to /public
- In cPanel or whatever control panel you have, set the “document root” to something like:
/home/username/your-invoiceninja-folder/public - Not just
/home/username/your-invoiceninja-folder
If you can’t change document root: you need to move files manually (I’ll explain if needed).
Check if .htaccess exists inside /public
It should contain things like:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
If missing, re-download Invoice Ninja and grab it.
Make sure mod_rewrite is enabled
On shared hosting, you may be able to check this by creating a file called phpinfo.php with:
<?php phpinfo(); ?>
Look for mod_rewrite under “Loaded Modules”.
If not enabled → contact your hosting support and ask them to enable it.
Check permissions
Make sure your folders (like storage, bootstrap/cache) are writable:
chmod -R 775 storage bootstrap/cache
Check APP_URL in .env
Make sure .env has the correct URL:
APP_URL=https://yourdomain.com
(Make sure it’s HTTPS if your server uses SSL.)
Summary:
99% this is just your web server not pointing into the
publicfolder.
Would you like me to give you a step-by-step for moving the /public files if you can’t change your hosting’s document root?
(That’s a very common workaround too.) ![]()
Let me know!
Thank you for your help.
![]()
I will try to check and implement the points listed.
Thank you! That helped me to be able to log in without an error message! Yippie Yeah!!! ![]()
The software shows me a software update that I want to run and after clicking on it, it cancels with an error message. I will look for a solution. Or do you have a hint for me?
There should be more details about the error in storage/logs, it may help to increase PHP’s memory limit.
Another option is to manually copy over the latest release tar.
Thank you! ![]()
I’ll try to solve it…