Apache słucha na alternatywnym porcie(8000) za serwerem proxy w tym samym systemie (node.js), który nasłuchuje na porcie 80. Wszystko działa dobrze, z tym że domyślnie mod_dir w Apache przepisuje końcowe ukośniki i dodaje port w nagłówku lokalizacji.
Innymi słowy, jestem w stanie załadować stronę internetową Apache dobrze, ale kiedy kliknę link na stronie, która wskazuje na katalog, otrzymuję 301 z Apache, z nagłówkiem lokalizacji jak:
Lokalizacja: www.example.com:8000/_my_path/
Apache po prostu niewinnie rozdaje port,ponieważ nie wie nic lepszego, ale potrzebuję go, aby zatrzymać dodany port. mod_rewrite wydaje się być właściwym podejściem, ale nie jestem pewien co następuje:
- Który uruchamia najpierw: mod_rewrite lub mod_dir?
- Czy muszę wyłączyć mod_dir, a następnie spróbować zrekompensować całe jego zachowanie za pomocą mod_rewrite?
- Czy istnieje lepszy sposób, za którym tęskniłem?
Wersja serwerowa: Apache / 2.2.22 (Debian)
Odpowiedzi:
0 dla odpowiedzi № 1Dodanie następującego rozwiązania do mojej dyrektywy rozwiązało problem:
RewriteEngine On RewriteCond 1 $! / $ RewriteCond% {REQUEST_FILENAME} / -d RewriteRule (. +) http://www.example.com/1 USD / [R = 301, L]
Publikuję linki, z których czerpałem te informacje, ale najwyraźniej nie mam wystarczająco "reputacji" ...: /