RewriteEngine activat
RewriteRule ^192.168.20.87$ nimic
Din anumite motive, dacă o fac cu .htaccess, funcționează
Deși acest lucru nu se va potrivi cu adresa URL http://192.168.20.87/page.php
chiar dacă „o faci cu .htaccess
", așa că trebuie să fii făcând altceva?
Regula de mai sus (când este folosită în a <Directory>
container) se potrivește cu o adresă URL a formularului http://192.168.20.87/192.168.20.87
(sau http://default.nothing/192.168.20.87
- dacă numele dvs. de gazdă se rezolvă).
The RewriteRule
model se potrivește numai cu calea URL, nu cu numele gazdei (de ex. 192.168.20.87
). Deci, asta se potrivește împotriva /page.php
, (sau pagina.php
- cale relativă/fără prefix bară oblică - când este utilizat într-un director context ca <Directory>
sau .htaccess
.)
Deci, acesta ar trebui să fie ca următorul:
RewriteRule ^page\.php$ nimic
(Deși nu este clar ce încercați să faceți aici, ce este „nimic”? Dacă încercați să declanșați un 404, atunci acesta nu este chiar modalitatea de a face acest lucru.)
După cum @Gerrit a menționat vag în comentarii, atunci când RewriteRule
directiva este folosită într-un Server sau virtualhost context (adică nu în <Directory>
sau .htaccess
containere - a director context) apoi calea URL potrivită de RewriteRule
directiva este relativă la rădăcină, începând cu o bară oblică, deoarece directiva este procesată mult mai devreme, înainte de a fi mapată la sistemul de fișiere. de exemplu. ^/pagina\.php$
.
ACTUALIZAȚI:
DocumentRoot /var/www/html/public_html/00-default
<Directorul „/volume/dev/html/public_html/00-default”>
Tocmai am observat că dvs DocumentRoot
și <Directory>
directivele fac referire la două locații diferite ale sistemului de fișiere?! Cu informațiile limitate din întrebare, aceasta <Directory>
containerul nu va fi niciodată procesat.
Dar dacă nu aveți directive suplimentare în altă parte (pe care presupun că trebuie să le aveți), atunci oricare .htaccess
nici fișierul plasat în rădăcina documentului (care este locul în care presupun că îl puneți) nu va fi niciodată procesat.