Rancangan tīmekļa vietnes tiešsaistes veikals

Nesen es iegādājos GoDaddy mitināšanas paketi un no sākuma augšupielādēju visus savus vietnes failus, kas galvenokārt rakstīti PHP. Bet, mēģinot doties uz manu vietni, tā ielādē tikai faila galveno daļu, pēc tam pārbaudes panelī iemet 500 kļūdu. Daži Google darbinieki man teica, ka nav daudz informācijas, kas vajadzīga no kļūdas 500 un lai pārbaudītu manus cPanel žurnālus.

CPanel žurnāli:

[Mon Sep 11 09:38:33.529493 2017] [autoindex:error] [pid 22333:tid 140627618502400] [client xx.xx.xx.xx:53218] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive [Mon Sep 11 09:26:18.658155 2017] [autoindex:error] [pid 22417:tid 140627555563264] [client xx.xx.xx.xx:52447] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive [Mon Sep 11 08:38:29.568926 2017] [autoindex:error] [pid 9707:tid 140627871168256] [client 158.69.2.15:37794] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive [Mon Sep 11 04:46:46.503303 2017] [autoindex:error] [pid 6487:tid 140627702421248] [client 69.58.178.58:50763] AH01276: Cannot serve directory /home/mrzander/public_html/: No matching DirectoryIndex (index.html.var,index.htm,index.html,index.xhtml,index.wml,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.js,index.jp,index.php4,index.php3,index.php,index.phtml,index.shtml,default.htm,default.html,home.htm,index.php5,Default.html,Default.htm,home.html,welcome.html) found, and server-generated directory index forbidden by Options directive 

Citas StackEchange vietnes minēja dažādu conf failu rediģēšanu, bet man nav piekļuves tiem (httpd.conf, apache2.confutt .; Man vienkārši ir piekļuve .htaccess failu mapē public_html.

Vai man ir kaut kas jādara ar .htaccess failu, lai novērstu šo kļūdu?

EDIT: aizmirsu kaut ko pievienot. Faktiskais vietnes index.php vietne atrodas publiskajā mapē public_html, tāpēc, kad kāds apmeklē vietni mysite.com, tas viņu novirza uz mysite.com/public/index.php. Šodien šodien es pievienoju index.html uz public_html mapi tikai, lai redzētu, vai tā pārdzīvos kļūdu; tā nebija.

EDIT2: .htaccessfailu

RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ErrorDocument 404 /404.html ErrorDocument 403 /403.html DirectoryIndex index.php index.html public/index.php 

EDIT3: Jauni žurnāli

[Mon Sep 11 20:16:48.016315 2017] [core:alert] [pid 23998:tid 140627618502400] [client 172.6.118.47:49812] /home/mrzander/public_html/.htaccess: Illegal option noindexes [Mon Sep 11 20:16:48.016158 2017] [core:alert] [pid 23998:tid 140627618502400] [client 172.6.118.47:49812] /home/mrzander/public_html/.htaccess: Illegal option noindexes [Mon Sep 11 20:15:49.343249 2017] [rewrite:error] [pid 25357:tid 140627702421248] [client 172.6.118.47:49809] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/403.html [Mon Sep 11 20:15:49.343177 2017] [rewrite:error] [pid 25357:tid 140627702421248] [client 172.6.118.47:49809] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/ [Mon Sep 11 20:15:44.029303 2017] [rewrite:error] [pid 8377:tid 140627733890816] [client 172.6.118.47:49807] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/403.html [Mon Sep 11 20:15:44.029232 2017] [rewrite:error] [pid 8377:tid 140627733890816] [client 172.6.118.47:49807] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /home/mrzander/public_html/ 

  • Sākumā sārtos es pieņemu, ka jums nav noklusējuma lapas, kā definēts Direktīvā DirectoryIndex, kas nosaka, ka index.html, index.htm, default.html utt. Vai jebkuram direktorijam ir noklusējuma faili. Tas parasti tiek definēts jūsu vietnes konfigurācijas failos, tomēr šo direktīvu var izmantot arī jūsu .Htaccess failā. Daži instalētāji instalē PHP pēc Apache un nespēj pilnībā konfigurēt sistēmu. Jums var būt nepieciešams pievienot index.php. Skatīt: httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex
  • Kādu komandu jūs ieteiktu pievienot .htaccess failu? Es izmēģināju kombināciju DirectoryIndex disabled, DirectoryIndex index.html index.php, un DirectoryIndex public/index.php bez rezultātiem, izmantojot jūsu norādīto saiti.
  • Jūs pieminējāt, ka esat novirzīts uz vietni mysite.com/public/index.php? Tas nav labi! Patiesībā tas ir ļoti slikts !! Es kādreiz biju tīmekļa mitinātājs un viens no sākotnēji reģistrētajiem interneta pakalpojumu sniedzējiem, tāpēc man ir pieredze pakalpojumu sniegšanā klientiem. Vai esat piezvanījis GoDaddy par šo jautājumu? Es ieteiktu ātri sastādīt bažas un vispirms ar tām runāt. Ievadot example.com, pārsūtīšana uz kādu apakšdirektoriju vispār nedrīkst būt. Tas man saka, ka GoDaddy ir dažas dīvainas konfigurācijas problēmas. Es iesaku sākt tur. Ja nepieciešams, lūdziet vadītāju.
  • Es pārvietoju index.php no publiskās mapes un ievietoju to public_html mapē, un 86 novirzīju novirzīšanu, tāpēc, dodoties uz mysite.com, tiek novirzīts tieši uz indeksu. Bet man joprojām ir tāda pati problēma tikai ar galvas ielādi un neko citu kā 500 kļūdu. Es viņiem piezvanīšu un redzēšu, kas ir darījums. Es arī ievietoju savu .htaccess failu kā pēdējo grāvēja darbu atbildēm. Varbūt jūs varat mani iztaisnot.
  • 1 Pievērsiet uzmanību pēdējām 4 rindiņām, kuras esat ievietojis no žurnāla faila. Jums var būt nepieciešams options FollowSymLinks vismaz.

Tāpēc es beidzot sazinājos un sazinājos ar GoDaddy atbalstu. Pēc stundas mēs noteicām, ka manā kodā varētu būt kļūda. Un pēc nelielas rakšanas un testēšanas ar dažiem pamata failiem viņam bija taisnība.

Es pievienoju sekojošo savam index.php fails ...

error_reporting(E_ALL); ini_set('display_errors', 1); 

UN ZEMS UN UZTURĒTS:

Fatal error: Uncaught Error: Call to undefined function mysqli_fetch_all() in /home/[redacted]/public_html/private/database.php:147 Stack trace: #0 /home/[redacted]/public_html/public/layouts/navigation.php(4): MySQLDatabase->fetchAllSubjects() #1 /home/[redacted]/public_html/index.php(49): include('/home/mrzander/...') #2 {main} thrown in /home/[redacted]/public_html/private/database.php on line 147 

Tas izskaidro, kāpēc galvene tika ielādēta un nekas cits, un kāpēc serveris izmeta 500 kļūdu. Es biju pilnībā ignorējis kļūdas iespējamību, jo mysqli_fetch_all() bez grūtībām strādāja pie manas vietējās mašīnas.

Tātad mācība ir šāda: ja saņemat kļūdu 500, tā, iespējams, var būt problēma ar jūsu kodu. Es šodien to labošu, un visam vajadzētu būt kārtībā. Paldies visiem, kas palīdzēja.

  • kļūdas ziņojums (E_ALL); atrisināja manu problēmu .. neviens no tīmekļa resursdatora pārvaldniekiem to nevarēja atrisināt .. bet tikai kļūda .. mēs nevaram sodīt, ja nevaram atrast vainīgo! ..

Šķiet, ka mapē public_html nav index.html vai index.php (vai citas). Vai esat pārliecināts, ka pēc augšupielādes ir vismaz faila nosaukums index.php? Vai jūs varat reģistrēties ftp vai failu pārvaldniekā un redzēt, vai fails tiešām ir tur?

  • Es pievienoju index.html uz public_html mapi, lai būtu drošs, un joprojām nav kauliņu. Es savā jautājumā pievienoju mazliet papildu informāciju, kuru aizmirsu pieminēt.
  • Es izlasīju tavu piezīmi. Tātad tagad mēs zinām, ka trūkst indeksa faila. Es domāju, ka tā varētu būt kļūda novirzīšanā, piemēram, tā novirzīšana uz neesošu mapi? Ko jūs tieši ierakstījāt .htaccess, lai novirzītu?
  • Laikam vienkārši būtu vieglāk, ja es jums parādītu. Skatiet EDIT2.
  • Man tas šķiet mazliet dīvaini, mēģiniet to, lai sasniegtu index.php publiskajā direktorijā (kad publiskais katalogs ir public_html). Fails .htaccess tiek ievietots mapē public_html: RewriteEngine On RewriteRule ^$ /public [L] DirectoryIndex index.html index.php

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?