Alles, was ich heute tun wollte, war, eine Umleitungsregel in einen Unterordner zu schreiben, z. B.: Sie geben die URL ein: example.com und werden zu example.com/subfolder umgeleitet
So ein einfacher Wunsch. Ich habe versucht, im Internet eine Lösung zu finden. Das Internet sagte mir, ich solle eine .htaccess- Datei im htdocs-Stammverzeichnis hinzufügen mit:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^$ subfolder [L]
Ich war das. Aber offensichtlich kein Erfolg, sie sagten mir nicht, dass ich das Modul in httpd.conf auskommentieren musste :
LoadModule rewrite_module modules/mod_rewrite.so
Also habe ich das auch gemacht. Wieder kein Erfolg. Sie sagten mir nicht, dass ich meine httpd.conf ändern müsste, damit die .htaccess- Datei aktiviert würde:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Wieder kein Erfolg, da ich diesen Fehler bei der Eingabe der URL erhalte:
Verboten Sie haben keine Berechtigung, auf diesen Server zuzugreifen.
Jetzt stecke ich fest und konnte im Internet keine weiteren Lösungen finden. Ich verwende Apache 2.4 aus privaten Gründen nur auf meinem Windows 7-Computer.
quelle
Antworten:
Ich habe meine Lösung dank Fehler mit .htaccess und mod_rewrite
für Apache 2.4 und in allen * .conf-Dateien (z. B. httpd-vhosts.conf, http.conf, httpd-autoindex.conf ..etc) gefunden
Anstatt von
Die Anweisungen Order und Allow sind in Apache 2.4 veraltet .
quelle
ARBEITSMethode {wenn es kein anderes Problem als die Konfiguration gibt}
Standardmäßig beschränkt Appache den Zugriff von IPv4 nicht. (gemeinsame externe IP)
Was möglicherweise einschränkt, sind die Konfigurationen in 'httpd.conf' (oder 'apache2.conf', abhängig von Ihrer Apache-Konfiguration).
Lösung:
Alles ersetzen:
mit
Dadurch werden alle Einschränkungen für Apache aufgehoben
Ersetzen Sie
Require local
durchRequire all granted
at-C:/wamp/www/
Verzeichnisquelle
Die Lösung ist einfach.
Wenn Sie versuchen, mit Ihrer lokalen IP-Adresse auf den Server zuzugreifen, und die Fehlermeldung " Verboten" angezeigt wird, haben Sie keine Berechtigung, auf diesen Server zuzugreifen
Öffnen Sie einfach Ihre httpd.conf-Datei von (in meinem Fall
C:/wamp/bin/apache/apache2.2.21/conf/httpd.conf
)Suchen nach
<Directory "D:/wamp/www/"> .... ..... </Directory>
Ersetzen Erlaube von 127.0.0.1
zu
Erlaube von allen
Speichern Sie die Änderungen und starten Sie Ihren Server neu.
Jetzt können Sie mit Ihrer IP-Adresse auf Ihren Server zugreifen
quelle
Das Problem liegt in der Datei https.conf!
Der Fehler tritt auf, wenn Hash (#) entfernt oder herumgespielt wird. Diese beiden Zeilen sollten wie oben gezeigt aussehen.
quelle
Ich habe meine Lösung unter Apache / 2.2.15 (Unix) gefunden.
Und danke für die Antwort von @QuantumHive:
Erstens: Ich habe alles gefunden
Anstatt von
und dann:
Ich habe mich niedergelassen
Entfernen Sie die vorherige "#" - Anmerkung zu
ps. Mein WebDir ist: / var / www / html
quelle
Dies funktioniert für mich unter Mac OS Mojave:
quelle