php.htaccessurl-routingweb-hostingkirby

Why do I need to add index.php in order to route my website correctly? [getkirby]


I uploaded the code to the server. It started the homepage correctly . But when I press any link , I get 404 not found error. I discovered that I need to add index.php to my url for it to work. so it will be like that:

mydomain.somee.com/myWebsite/index.php/anotherPage

When I was working locally using Xamp as a server, I didn't get any of those problems. I got those problems after I uploaded the website to some.com which apparently doesn't use .htaccess file (editing or removing has no effect).

How to add this index.php automatically and hide it from the user?

I didn't change any of the system files or the htaccess please tell me if you need anymore files or description.


Solution

  • You need to redirect all your all pages through index.php file but remove it from URL.

    Write below rules in your root .htaccess file:-

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L] 
    

    OR

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L,QSA]
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
    RewriteRule ^ %1 [R=301,L]
    

    To understand, How htaccess rules are working, This link will help you :)

    Hope it will help you :)