Jeg er ny med å være vert for webapper online. Jeg ønsket å være vert for en app i underdomenet mitt, f.eks departmennt1.example.com. Jeg la til underdomenet i cPanel. Lokaliserte katalogen i filbehandling. Det hender at underdomenet også er en mappe i rotkatalogen. Jeg laster opp det lokalt fungerende nettstedet i underdomenemappen. Etter å ha satt opp databasen min på .env mappe. Jeg sørger også for at filene i den offentlige mappen var inne i underdomenen. Jeg sørger for at appen og autoload.php i index.php filen i underdomenemappen peker riktig til leverandør- og boostrap-mappen.

Etter det prøvde jeg å laste inn underdomeneadressen i nettleseren, men bare indeksiden, dvs.

Route::get('/', function () { return view('welcome'); }); 

hvilken som helst annen URL vil returnere slik innlogging vil vises

Ikke funnet

Den forespurte URL-en ble ikke funnet på denne serveren.

I tillegg oppstod en 404 Not Found-feil mens du prøvde å bruke et ErrorDocument til å håndtere forespørselen.

Jeg prøvde det på et annet vertsfirma hvor underdomenet som standard ligger i public_html katalog og alt gikk bra.

Hvordan kan jeg være vert for det første vertsselskapet?

  • Hvis du bare har en index.html-fil i katalogen, viser den den da? Hvis ikke, er det noe galt med måten underdomenet peker på dokumentroten

Jeg klarte å løse hele problemet ved å endre min .htaccess fil fra

# php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php72” package as the default “PHP” programming language.  AddHandler application/x-httpd-ea-php72 .php .php7 .phtml  # php -- END cPanel-generated handler, do not edit 

til

  Options -MultiViews -Indexes  RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]  

Jeg vet ikke hva koden ovenfor gjør. Jeg vil elske det å få utforskning til det beste for alle

  • 1 Denne koden sender i utgangspunktet alle "virtuelle URL" -forespørsler til index.php (Laravel frontkontrolleren) for Laravel å deretter slå opp ruten og bygge siden. Du har hatt noe lignende da du prøvde dette hos den andre verten som fungerte, ellers hadde du hatt 404s for alle, bortsett fra hjemmesiden også. (Å be om rotkatalogen vil ringe index.php som standard - så disse direktivene er ikke nødvendige for hjemmesiden.) Hvis du fjernet de AddHandler direktivet, så kan det hende at du kjører en annen versjon av PHP.
  • Koden ble faktisk satt automatisk fra den andre verten. Jeg så forskjellen og prøvde å prøve den. Og heldigvis virket det. Begge de to vertsselskapene hadde en annen katalog for underdomenefilen. Den jeg hadde problemer med hadde den underdomenemappen i rotkatalogen, den andre hadde underdomenemappen i katalogen_html

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?