Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

PolMac's avatar

FTP

I have been trying to ftp my site to my shared hosting but I keep getting:

"You do not have permission to view this directory or page" when I visit the url

I have uploaded all the website files to the website folder in the root folder and put the index.php file in the root folder

I havent changed anything in the index or htaccess files which both look like;

Index.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <[email protected]>
 */

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/

require __DIR__.'/../bootstrap/autoload.php';

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

Htaccess File

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -Multiviews
    </IfModule>

    RewriteEngine On
    RewriteBase /


    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Any ideas what im doing wrong?

Pól

0 likes
3 replies
Snapey's avatar

What directory structure does your Service Provider give you?

If is it like

  • logs
  • cgibin
  • htdocs (or public_html)

Then put all your code in this folder, then move the contents of public into htdocs (or public_html)

PolMac's avatar

The folder structure is just Root and then domainname folder. I put the index.php in the root and all other files and folders in the domainname folder

Pól

Snapey's avatar

Its likely that they expect your public folder to be in the domain name folder... your provider should tell you where to put your content.

Please or to participate in this conversation.