Ich habe ein Problem mit der .htaccess-Konfiguration. Mein Webserver ist Apache2 und meine Website wurde von PHP codiert. Aber ich habe Probleme mit .htaccess..htaccess funktioniert nicht beim Zugriff über SSL/HTTPS in Apache2
Während ich über non-ssl zugreifen (http://mywebsite.dev), meine .htaccess war Arbeit. Ich benutze. Htaccess für URL Rewrite und Fehlerbehandlung durch benutzerdefinierte Vorlage. Aber, wenn ich darauf über SSL (https://mywebsite.dev), für Index-Seite war Arbeit. Aber wenn ich auf https://mywebsite.dev/page/about zugreife, wird das Display 404 nicht gefunden (es wird die 404 nicht gefundene Seite angezeigt, nicht meine benutzerdefinierte Seite. Es ist gemein, mein .htaccess-Code wird nicht geladen).
Für meine URL-Struktur war es http://mywebsite.dev/?load=page&page=about. Wenn ich auf http://mywebsite.dev/page/about zugreife, funktioniert es. Aber nicht über SSL. Was ist das Problem? Btw, mein /etc/apache2/sites-available/website.conf Code ist:
<VirtualHost *:80>
ServerName mydomain.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/website/
<Directory /var/www/html/website>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# enabled or disabled at a global level, it is possible to
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Und meine .htaccess-Code ist:
RewriteEngine On
RewriteRule ^page/([A-Za-z0-9-]+)/?$ index.php?load=page&page=$1 [NC]
ErrorDocument 404 /public/404.html
ich es mit in Windows bin Entwicklung Laragon mit . Und für Production env ist: Ubuntu 16, PHP 7 und Apache2. Vielen Dank.
Sorry für Grammatikfehler, oder Sie verstehen nicht, was ich meine. Vielen Dank war meine Frage zu lesen :)
Sie meinen, ich muss neue virtuelle Hosts mit anderen Port, um die Anfrage über HTTPS zu behandeln, bin ich falsch? CMIIW. Danke für die Antwort. – filosofikode
Richtig, Sie benötigen zwei virtuelle Hosts, um HTTP und HTTPS zu verarbeiten (die Serverfehlerfrage ist genau das). Wenn Sie mit https auf Ihren Server zugreifen können, haben Sie bereits eine 'SSLEngine on' (und andere' SSLCertificateFile'), die Sie eventuell anpassen/wiederverwenden müssen. –