Vă mulțumim pentru susținere

Asigurați-XAMPP / Apache servi fișier în afara htdocs

Este posibil să configurați xampp pentru a servi un fișier în afara htdocs / code>?

De exemplu, spuneți că am un fișier localizat după cum urmează:

C: \ Proiecte \ transitCalculator \ trunchi \ TransitCalculator.php

și fișierele mele xampp sunt în mod normal difuzate din:

C: \ xampp \ htdocs \

(pentru că aceasta este configurația implicită) Există vreun mod de a face Apache să recunoască și să difuzeze fișierul meu TransitCalculator.php fără să îl deplaseze sub htdocs ? Preferam ca Apache să servească / să aibă acces la întregul conținut al directorului de proiecte și nu vreau să muiesc directorul de proiecte sub htdocs .

edit: editat pentru a adăuga Apache la titlul întrebării pentru a face Q / A mai "de căutare"

0
adăugat editat
Andrew Koper, sunt de acord, dar nu este surprinzător faptul că nivelurile de neprietenostire cu greu de manevră sunt endemice în întreaga ecosferă de schimburi de stive în acest moment. ¯ _ (?) _ / ¯
adăugat autor cmcculloh
Etichetele ar trebui să fie destul de ușor de căutat, cred.
adăugat autor icedwater
Am ajutat-o ​​pe colegul meu să facă câteva dintre acestea pentru un proiect universitar, wow aceste lucruri sunt nebun! Doar îmi amintesc că am avut multe greutăți încercând să lipesc o pârghie pe un micro-comutator în față (așa că se întoarce când atinge un perete). Cred că a cumpărat kit-ul de bază, așa că le construim în mouse-uri vechi. Cred că sunt un kit robot de pornire fantastic!
adăugat autor titanous
Ar fi groovy pentru a proiecta un robot evaziv cu o lumină puternică pe mousebot pentru a urmări după!
adăugat autor titanous
Această întrebare nu ar fi trebuit închisă. Aceasta este o întrebare XAMPP. Aceasta este o întrebare pentru dezvoltatori.
adăugat autor Andrew Koper
Dezactivați topicul, dar doriți doar să vă sfătuiți: Uneori o opțiune este de a muta directoarele în folderul "htdocs" de ex. dacă doriți să puteți deschide fișiere în Google Drive în localhost;) ( stackoverflow.com/questions/41751330/… )
adăugat autor Gordova
Pe ubuntu, o sim link a fost tot ce era necesar. ( brettclapper.wordpress.com/2012/07/06/… )
adăugat autor M.C.
În afară de toate răspunsurile, aș dori să adaug unul. Din PHP 5.4.0 puteți trece la root-ul proiectului utilizând linia de comandă și executați php -S : . De exemplu, php -S localhost: 80 .
adăugat autor radiantshaw

6 răspunsuri

Mi-aș imagina un rezistor cu privire la conexiunea pozitivă la motoare ar face truc. Probabil că va trebui să experimentezi valoarea pentru a avea dreptate.

5
adăugat
Da, aceasta funcționează; Folosesc acest lucru într-unul dintre roboții mei și funcționează frumos. Obțineți un potențiometru de 10 k înalt și puteți găsi o valoare foarte ușoară.
adăugat autor Blair Conrad
Este cool, ai putea obține un potențiometru stereo, atunci ai putea regla viteza maximă a ambelor motoare cu un buton, apoi ai putea schimba viteza pentru diferite aplicații/demonstrații.
adăugat autor titanous

Scăderea tensiunii care intră în motor va face ca acesta să meargă mai lent. Așa cum Jim a spus punerea unui rezistor chiar înainte de a intra în motor este un mod excelent, dar va trebui să comutați rezistențe de fiecare dată când doriți să accelerați înapoi. Mai bine, folosind doar un rezistor regulat, puteți încerca un potențiometru care este un rezistor variabil. Folosiți-o în același mod, dar puteți roti potențiometrele în sus sau în jos pentru a da mai multă viteză sau mai puțin

2
adăugat

Ok, pentru pix0r , Sparks și răspunsurile lui Dave se pare că există trei moduri de a face acest lucru:


Gazdă virtuală

  1. Open C:\xampp\apache\conf\extra\httpd-vhosts.conf.
  2. Un-comment line 19 (NameVirtualHost *:80).
  3. Add your virtual host (~line 36):

    
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        
            Order allow,deny
            Allow from all
        
    
    
  4. Open your hosts file (C:\Windows\System32\drivers\etc\hosts).

  5. Add

    127.0.0.1 transitcalculator.localhost #transitCalculator
    

    to the end of the file (before the Spybot - Search & Destroy stuff if you have that installed).

  6. Save (You might have to save it to the desktop, change the permissions on the old hosts file (right click > properties), and copy the new one into the directory over the old one (or rename the old one) if you are using Vista and have trouble).
  7. Restart Apache.

Acum puteți accesa acel director navigând la http: //transitcalculator.localhost/ .


Faceți un alias

  1. Starting ~line 200 of your http.conf file, copy everything between and (~line 232) and paste it immediately below with C:/xampp/htdocs replaced with your desired directory (in this case C:/Projects) to give your server the correct permissions for the new directory.

  2. Find the section (~line 300) and add

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
    

    (or whatever is relevant to your desires) below the Alias comment block, inside the module tags.


Modificați-vă root-ul de documente

  1. Editați linia 176 în C: \ xampp \ apache \ conf \ httpd.conf; modificați DocumentRoot "C: / xampp / htdocs" la #DocumentRoot "C: / Projects"

  2. Editați linia 203 pentru a se potrivi cu noua dvs. locație (în acest caz C: / Projects ).


Notes:

  • You have to use forward slashes "/" instead of back slashes "\".
  • Don't include the trailing "/" at the end.
  • restart your server.
0
adăugat
Dacă utilizați opendns, primiți și avertizarea "file in use" atunci când încercați să salvați fișierul hosts? Pot crea o simbolică fără a dezactiva DNS-ul meu?
adăugat autor Wolfpack'08
Din anumite motive, îmi dă "Accesul interzis!", Dar când schimb httpd.conf funcționează bine. Ai idee de ce?
adăugat autor ilyo
Folosind Order allow, deny Allow from all nu a funcționat pentru mine, dar Require all the granted a lucrat.
adăugat autor Danny Beckett
Nu am primit soluția Alias ​​pentru a lucra, dar DocumentRoot a lucrat ca un farmec. (Notă: Cel mai simplu este să căutați toate instanțele "C: / xampp / htdocs" și să le înlocuiți deoarece numerele de linie vor varia între versiuni) Oricum: +1
adăugat autor SKuijers
Dacă modificați doar documentulot în httpd.conf, acesta nu va funcționa dacă aveți o gazdă virtuală pentru *: 80, indicând altundeva. Deci schimbați și documentulotul acolo.
adăugat autor trogne
ea nu repornește pentru mine, singura care funcționează este abordarea documentroot ..
adăugat autor Juan
Dacă primiți erori de 403, consultați acest link
adăugat autor Wojtek Owczarczyk
În pasul (3) pentru a edita C: \ Windows \ System32 \ drivers \ etc \ hosts. Cele mai bune practici pentru a rula editorul (Notepad, Notepad ++ sau orice editor) ca Administrator. Deci, puteți salva direct în folderul C: \ Windows \ System32 \ drivers \ etc \.
adăugat autor CallMeLaNN
Nu am reușit să reușesc să lucrez (am primit și "Access denied") până când am mutat secțiunea din secțiunea secții sibling. Merită încercați dacă aveți în continuare probleme.
adăugat autor bart
Utilizarea comenzii permite, refuza Permite tuturor celor din Win7 returnează 403 ERROR deoarece aceste opțiuni sunt depreciate. Utilizare Necesită acordarea tuturor.
adăugat autor kmike
Acesta ar trebui să fie răspunsul. Cel selectat se mută întreaga Apache pentru a fi difuzat într-un alt folder.
adăugat autor Kat Lim Ruiz
Doar FYI, acest pas nu pare să fie necesar pentru mine: Linia 19 fără comentarii (NameVirtualHost *: 80)
adăugat autor Silverback
Soluția gazde virtuale funcționează încă în 2015 :)
adăugat autor ericgrosse

Un VirtualHost ar lucra de asemenea pentru acest lucru și poate funcționa mai bine pentru dvs., deoarece puteți găzdui mai multe proiecte fără a fi nevoie de subdirectoare. Iată cum faceți acest lucru:

httpd.conf (sau extra \ httpd-vhosts.conf în raport cu httpd.conf. Trasarea slash-urilor "\" ar putea cauza ca nu funcționează):

NameVirtualHost *:80
# ...
  
    DocumentRoot C:\projects\transitCalculator\trunk\
    ServerName transitcalculator.localhost
      
        Order allow,deny  
        Allow from all  
    
 

HOSTS fișier (c: \ windows \ system32 \ drivers \ etc \ hosts de obicei):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

Acum, reporniți XAMPP și ar trebui să puteți accesa http: //transitcalculator.localhost/ și se va direcționa direct către acel director .

Acest lucru poate fi util dacă încercați să replicați un mediu de producție în care dezvoltați un site care va sta pe radacina unui nume de domeniu. Puteți, de exemplu, să indicați fișiere cu căi absolute care vor fi transferate către server:

My Logo

în timp ce într-un mediu care utilizează pseudonime sau subdirectoare, ar trebui să urmăriți exact unde directorul "imagini" era relativ la fișierul curent.

0
adăugat
Am câteva unități de rețea pe PC-ul meu care au fost cartografiate în litere de unitate (de exemplu X: \ myfolder ). Când folosesc această metodă, primesc un avertisment "Acces interzis". Înseamnă că utilizatorul Apache nu are acces de citire la unitate?
adăugat autor harryg
Sub Directory înlocuiți Order enable, deny și Allow from all cu Require all granted . Vedeți stackoverflow.com/questions/9110179/…
adăugat autor Michiel

Puteți să o mutați modificând setarea DocumentRoot în XAMPP \ apache \ conf \ httpd.conf.

Ar trebui în prezent să fie:

C: / xampp / htdocs

Schimbă-l la:

C: / proiecte / transitCalculator / trunchi

0
adăugat
acest lucru se aplică și pentru mac mac?
adăugat autor angry kiwi
Nu uitați să îl editați pe ambele linii care solicită DocumentRoot. Dacă schimbați doar cea de sus, veți obține erori de acces la citire etc.
adăugat autor Arcolye
acum prin care adresa URL, poate accesa pagina index?
adăugat autor Manish Kumar

Puteți seta Apache să servească pagini de oriunde, cu orice restricții, dar în mod normal este distribuită într-un formular mai sigur.

Modificarea fișierelor dvs. apache (http.conf este unul dintre cele mai comune nume) vă va permite să setați orice folder astfel încât acesta să apară în webroot-ul dvs.

EDITAȚI | ×:

alias myapp c: \ myapp \

Am editat răspunsul meu pentru a include formatul pentru crearea unui alias în fișierul http.conf, care este un fel de scurtătură în ferestre sau într-un simbolink sub un * x în cazul în care Apache "pretinde" că un dosar este în webroot. Probabil că aceasta va fi mai utilă pe termen lung.

0
adăugat