Wat beteken hierdie verklarings bedoel in my htaccess lêer?
-
03-07-2019 - |
Vra
Ek is 'n newb om PHP. Kan iemand my vertel wat elke lyn doen hier. Moet ek dit nodig het? Dit gee my foute
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
Oplossing
Die eenvoudige antwoord: Hierdie verklarings herskryf elke versoek om 'n rewrite.php
lêer
Die meer omvattende antwoord: Die RewriteCond
en RewriteRule
riglyne van die Apache module mod_rewrite en bied 'n reël-gebaseerde URL herskryf meganisme.
Dit blyk dat hierdie reëls is bedoel om elke versoek om 'n rewrite.php
lêer te herskryf, hetsy in 'n spesifieke gids (/~
foobar /rewrite.php
) of in die wortel (/rewrite.php
).
Ander wenke
As jy nuut is, lees asseblief http: //httpd.apache. org / docs / 1.3 / mod / mod_rewrite.html , dit is baie mooi verduidelik.
post scriptum. Jou titel "Wat doen hierdie verklarings bedoel in my PHP htaccess lêer?" verkeerd is, Htacces is nie PHP lêer.
Hierdie sê
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
"Gebruik slegs die volgende reël indien die versoek van 'n bestaande lêer of gids nie ooreenstem."
Dit is mod_rewrite opset inskrywings.
Dit 'n Apache mod_rewrite reël. Tensy jy gebruik 'n soort van raamwerk jy waarskynlik nie nodig het nie. Sien Apache mod_rewrite vir meer inligting.