Avatar billede Slettet bruger
09. marts 2005 - 14:33 Der er 9 kommentarer og
1 løsning

Problemer med al lave en .htaccess fil der altid finder menu.php

Har dristet mig til at forsøge med .php i webdesign, det gik meget fint indtil nu hvor jeg skulle have link i menu.php til at kalde de andre sider i mapperne.

På c:\ har jeg mappen www = localhost
                              |project_1
                              |inc - menu.php
                              |forår - mar.php,apr.php, maj.php
                              |sommer - jun.php,jul.php,aug.php
                        |efterår - sep.php,okt.php,nov.php
                      |vinter -dec.php,jan.php,feb.php
                              |index.php

i inc = ligger menu.php som indlæses i alle .php filer
det går fint enkeltvis, men så skal jeg f.eks videre til forår og indlæse marts.php

<?php
include("inc/menu.php");
?>
også det går fint, så skal jeg videre til sommer/juni.php, det går ikke

Det er noget rod, så derfor en .htaccess i webroden der finder menu.php uanset hvor du er på website.

Det kan jeg bare ikke finde ud af, så venligst hjælp mig.
.....................
#coderdk" har skrevet dette til mig i et andet spm. jeg har stillet, men jeg kan ikke finde ud af at code det så det virker.
.............
/*coderdk skriver:

Alternativt, hvis du kører apache, og har rettigheder til det, kan du lave en .htaccess i din webrod:

.htaccess:
php_value include_dir "gammel_include:/fuld/sti/til/din/inc"

Hvor "gammel_include" er den gamle værdi af include_dir, den kan du få ved at kigge i phpinfo() eller i et script skrive: echo ini_get("include_dir");
Et eksempel på en er: .:/usr/lib/php
Så i .htaccess kunne der så stå:

php_value include_dir ".:/usr/lib/php:/home/www/ditsite/folder/inc"

Når du har gjort det, kan du hvor som helst bare skrive:

include("menu.php");

Uanset i hvilken folder du befinder dig


Svært spm giver 60 pnt ... meget svært for mig, derfor 100 pnt
Avatar billede sukos Juniormester
09. marts 2005 - 14:51 #1
php_value auto_prepend_file  C:/www/inc/menu.php

På den måde vil din menu.php altid blive includet som det første ved hver request.
Ved godt det ikke lige er helt det du spørger om!
Avatar billede sukos Juniormester
09. marts 2005 - 14:52 #2
Men du kan også definere include_path, som vel er det du søger?

php_value include_path  D:/sites/
Avatar billede sukos Juniormester
09. marts 2005 - 14:58 #3
hmm, for nu at lave din .htaccess

php_value include_path C:/www/inc/

Så kan du netop skrive
include("menu.php");
uanset hvor du befinder, blot menu.php findes i dir'et "inc"

Eller for at include den på alle sider:

php_value auto_prepend_file  C:/www/inc/menu.php

bruger du "luft" i stiangivelser, så sæt " omkring stien

php_value auto_prepend_file  "C:/www/inc 2/menu.php"
Avatar billede Slettet bruger
09. marts 2005 - 15:18 #4
Er lidt desorienteret (uforstående) det kan senere være mulighed at der skal bruges forskellige menuer,menu.php på nogle sider og menu-1.php på andre.

Så derfor skal jeg bruge
<?php
include("inc/menu.php");
?>
på nogle sider og f. eks.

<?php
include("inc/menu-1.php");
?>
på andre o.s.v. - derfor skal jeg nok bruge denne

.htaccess
php_value include_path C:/www/inc/

er det alt der skal stå i htaccess ?

har forsøgt at læse om htaccess, men det handler mest (kun) om password, det jeg kan finde.

men så kan jeg se næste problem, for siden skal op på cliche og der er host root
/public_html
Avatar billede sukos Juniormester
09. marts 2005 - 15:31 #5
Hvis du bruger denne:
php_value include_path C:/www/inc/

og du skriver
include("menu.php");
vil PHP kikke efter menu.php i dir'et "inc"

Når siden skal på en anden server, så prøv med:

<?php
echo $_SERVER["PATH_TRANSLATED"];
?>

for at finde den korrekte sti i din .htaccess
Avatar billede sukos Juniormester
09. marts 2005 - 15:32 #6
i din .htaccess => til din .htaccess
Avatar billede Slettet bruger
09. marts 2005 - 15:47 #7
Jeg forsøger, nu skal jeg lige finde ud af hvordan jeg skriver en .htaccess-fil
htaccess skal vel ligge i root C:/www/inc/

Du må godt lægge et svar - kan altid stille et syt spm. hvis jeg kører fast
Avatar billede sukos Juniormester
09. marts 2005 - 15:56 #8
Nej, hvis din side starter med at vises fra c:/www/htdocs
skal din .htaccess ligge  ligge der, og IKKE i et underdir!
Har du problemer med at navngive filer uden fornavne, så brug enten
Notepad+
http://www.mypeecee.org/rogsoft/notepad.html

eller lav den som en txt fil, og brug evt. en dosprompt til at rename filen
Avatar billede sukos Juniormester
09. marts 2005 - 15:58 #9
Og lige et svar!
Avatar billede Slettet bruger
09. marts 2005 - 16:07 #10
Det er forstået min localhost doc_root = c:\www
Jeg bruger Note Tab Light til det meste

Tak for hjælp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester