Java Eclipse-vejledning - Del 8: Tilføjelse af JAR-filer

Dette er et eksempel på en fejl i logfilen:

File does not exist: /var/www/website/female, referer: http://www.example.com/female/dresses/A-Dress-Black

/female eksisterer ikke fysisk, fordi vi bruger venlige webadresser via vores .htaccess fil, der ser sådan ud:

RewriteEngine On # Turn on the rewriting engine RewriteBase / RewriteCond %{http_host} !^www.website.com$ [nc] RewriteRule ^(.*)$ http://www.website.com/$1 [r=301,nc,L] RewriteRule ^News/?$ news.php [NC,L] RewriteRule ^About/?$ about.php [NC,L] RewriteRule ^Contact/?$ contact.php [NC,L] RewriteRule ^Sign-In/Create-Account?$ sign_up_in.php [NC,L] RewriteRule ^Logout?$ sign_up_in.php?l=1 [NC,L] RewriteRule ^Your-Bag?$ your_bag.php [NC,L] RewriteRule ^Help?$ help.php [NC,L] RewriteRule ^Profile?$ profile.php [NC,L] RewriteRule ^Create-Profile?$ profile_create.php [NC,L] # ITEM RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)/([A-Za-z0-9-]+)/?$ store_focus.php?sex=$1catName=$2&permalink=$3 [NC,L] # PAGE RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)/page/([0-9]+)/?$ store.php?sex=$1&catName=$2&page=$3 [NC,L] # CATEGORY RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)/?$ store.php?sex=$1&catName=$2 [NC,L] # SEX RewriteRule ^([A-Za-z-]+)/?$ store.php?sex=$1 [NC,L] 

Hver anmodning om en side resulterer i en fejl, selvom webstedet fungerer fint. Har nogen stødt på dette før?

  • Jeg er stadig ikke kommet i bunden af ​​dette ... virkelig irriterende!
  • 1 Spurgt april 2010 .. Sidste svar feb 2011, OP's sidste kommentar dateret marts 2011 .. og stadig ingen løsning? Doh. 1) Der mangler & i ITEM-regel: store_focus.php?sex=$1catName= burde være store_focus.php?sex=$1&catName= 2) Regler for omskrivning af individuelle sider mangler / Før ?: ^Profile?$ burde være ^Profile/?$

Du prøver at matche en sti, der starter med et bogstav eller tal, men det starter med et '/'. Dine regler skal være noget lignende

RewriteRule ^/([A-Za-z0-9-])/...$ ... 

Alos, har du adgang til logfilerne? Hvis det er tilfældet, skal du aktivere logfilerne til mog_rewrite

RewriteLog /some/path RewriteLogLevel 3 
  • Desværre giver det mig en fejl, når jeg tilføjer et "/". Har du virkelig brug for "/" hvis du har RewriteBase = "/" ---- Den anmodede URL / kvinde / lige ankom / side / 1 blev ikke fundet på denne server.
  • Jeg tror ikke, at RewriteBase gør, hvad du synes ... Prøv at fjerne det.
  • Ingen forskel, forbandet!
  • Redigerede mit svar med flere ideer
  • Ah god idé .. var ikke klar over, at du kunne logge omskrivninger. Jeg har loggen her: 79.125.18.68/rwlog.txt Bare forsøger at få en vis mening af det.

Hvis dine omskrivningsregler er i en .htaccess-fil, skal du have mindst

AllowOverride FileInfo 

i din apache-konfiguration.

Og du skal også have

Options FollowSymLinks 

Hvis din serverkonfiguration har

AllowOverride FileInfo Options 

(eller AllowOverride All), så kan du også tilføje Options FollowSymlinks til .htaccess-filen.

  • Jeg bruger ikke .htacces..Alle muligheder er angivet i VHost.
  • OP har udtalt, at "webstedet fungerer fint", så .htaccess regler skal allerede fungere tilfredsstillende. Hvis problemet var at gøre med AllowOverride eller Options så fungerer webstedet overhovedet ikke.

Der er en anstændig chance for, at fejlen ikke kommer fra selve siden, men snarere fra et element på siden.

Eksempel: ville pege på /female/dresses/img/bla.jpg i stedet for /img/bla.jpg.

Fordi serveren først kontrollerer for den kvindelige mappe, når den søger efter bla.jpg, giver den aldrig fejlen på selve elementet

  • Tak skal du have! Jeg havde det samme problem, og i mit tilfælde var det fordi webbrowseren søgte efter favincon.png-filen med en relativ sti.
  • "Der er en anstændig chance for, at fejlen ikke kommer fra selve siden" - skønt den URL, der er citeret i fejlloggen, ser ud til at være "selve siden"?

Har været et stykke tid siden jeg brugte Apache eller skrev omskrivningsregler, men forsøgte at matche et vilkårligt antal A-Za-z og - behøver du ikke undslippe de sidste - "-"

eller er den sidste - gør noget specielt, jeg vil gætte, det er dit problem, hvis du prøver at matche-s

 # ITEM RewriteRule ^ ([A-Za-z -] +) / ([A-Za-z -] +) / ([A-Za-z0-9 -] +) /? $ Store_focus.php? Sex = $ 1catName = $ 2 & permalink = $ 3 [NC, L] 
  • Hmm, det er det ikke. Bindestrek kan være hvor som helst uden for en rækkevidde, ikke undgået.
  • Nogle gange ser loggen bare sådan ud: [Ons Apr 14 15:18:37 2010] [fejl] [klient 81.138.14.83] Filen findes ikke: / var / www / website / kvinde
  • en anden ting, jeg bemærker, er at du leder efter noget, der begynder med et bogstav eller -
    ^ ([A-Za-z -] +)
    efter et hurtigt blik, da omskrivningen læser på httpd.apache.org, ser de ud som at alle starter med at kigge efter en efter domænenavnet. Du prøver ikke at finde dette først /
  • så du synes, det skal være RewriteRule ^ / ([A-Z .........?
  • "Bindestrek kan være hvor som helst uden for en rækkevidde, ikke undgået." - ja, i starten eller slutningen af ​​karakterklassen.

Jeg har det samme problem. En omgåelse er at oprette den mappe, der rapporteres at være manglende.

mkdir /var/www/website/female 

Når det kommer forbi katalogkontrollen, fungerer RewriteRule sandsynligvis. Det er et mysterium for mig, hvorfor det først kontrollerer eksistensen af ​​biblioteket.

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?