2017-12-10 3 views
0

Ich arbeite an einer neuen Installation, die auf OpenCart 3.0.2.0 läuft.OpenCart 3.0.2.0 - erzwinge SSL und repariere "www" .htaccess

Ich kaufte ein SSL-Zertifikat und mein Gastgeber aktiviert es. Ich fuhr dann fort, SSL vom OpenCart-Admin zu aktivieren (System-> Einstellungen-> Server-> SSL verwenden), und nach dem Bearbeiten der Konfigurationsdatei funktioniert es wie von OpenCart beabsichtigt (nur auf den Seiten, die Formulare haben).

Ich möchte jedoch, dass das Zertifikat auf allen Seiten sichtbar ist.

Außerdem hat OpenCart einige Probleme bei der Eingabe der URL der Website mit "www" vor dem Domain-Namen, die font-awesome Symbole nicht laden. Ich könnte die Datei config.php bearbeiten und das "www" hinzufügen, aber das würde die URL ohne "www" durcheinander bringen.

Es stellte sich heraus, dass die einzige Möglichkeit, SSL auf allen Seiten zu erzwingen und das Problem "www" zu beheben, ist, meine .htaccess-Datei zu bearbeiten.

ich versuchte, indem diese ohne Ergebnisse auf allen Seiten SSL zu erzwingen:

RewriteCond %{HTTP_HOST} ^uneltescu\.ro [NC] 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://uneltescu.ro/$1 [R,L] 

über das Internet geschaut und SO und hatten mehrere Varianten der Version SSL und die „www“ zwingt richtig funktioniert, aber keiner von Sie schienen für mich zu arbeiten, vielleicht verstand ich nicht, was sie richtig erreichen sollten. Diese

ist, wie meine Standard-.htaccess-Datei aussieht:

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled. 

# 2. In your opencart directory rename htaccess.txt to .htaccess. 

# For any support issues please visit: http://www.opencart.com 

Options +FollowSymlinks 

# Prevent Directoy listing 
Options -Indexes 

# Prevent Direct Access to files 
<FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))"> 
Require all denied 
## For apache 2.2 and older, replace "Require all denied" with these two lines : 
# Order deny,allow 
# Deny from all 
</FilesMatch> 

# SEO URL Settings 
RewriteEngine On 
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie./becomes /shop/ 

RewriteBase/
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] 
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] 
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) 
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it. 
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. 

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: 
# php_flag register_globals off 

# 2. If your cart has magic quotes enabled, This may work to disable it: 
# php_flag magic_quotes_gpc Off 

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try 
# php_value upload_max_filesize 999M 

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value post_max_size 999M 

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value max_execution_time 200 

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value max_input_time 200 

# 7. disable open_basedir limitations 
# php_admin_value open_basedir none 

Wie sollte eine komplette, arbeitet wie .htaccess sucht OC 3.0.2.0 SSL zu zwingen und das "www" Problem zu beheben?

Wäre schön, wenn der Code nicht die URL meiner Website enthalten würde und generell für jede OC 3.0.2.0-Installation funktionieren würde, damit sie von der Community weiter verwendet werden kann, ohne weitere Anpassungen vornehmen zu müssen.

Antwort

0

Ich habe es geschafft, es zu beheben. Hier ist, wie ich es tat:

direkt unter dem Kommentar nach RewriteEngine On habe ich den folgenden Code:

RewriteCond %{HTTP_HOST} ^www\. 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Dies scheint sowohl die www und nicht www Version umleiten zu https://domain-name.com


Wenn Wenn Sie die Nicht-WWW-Datei zur www-Version umleiten möchten, müssen Sie diese Zeile ersetzen:

RewriteCond %{HTTP_HOST} ^www\. 

Mit dieser Zeile:

RewriteCond %{HTTP_HOST} !^www\. 

Und die Linien stellen Sie sicher, wo die Umleitung Ort gehören die „www“, wie dies geschieht:

RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Hinweis: Stellen Sie sicher, dass das www oder nicht www angeben URL in den Konfigurationsdateien Ihrer Website, die sich in den Ordnern public_html und admin befinden.


Um es für alle Links arbeiten zu lassen, musste ich die Konfig öffnen.php-Datei befindet sich in meinem public_html-Ordner und ändern Sie meinen Domänennamen so, dass überall https enthalten ist (einschließlich im ersten HTTP-Abschnitt).

Als ich jedoch versuchte, über SSL auf meine Admin-Seite zuzugreifen, wurde mein CSS nicht angezeigt. Dies wurde behoben, indem die Datei config.php, die sich im Admin-Ordner befindet, auf die gleiche Weise bearbeitet wurde. Ich musste es nicht für HTTPS und HTTP ändern. Ich habe es nur im HTTPS-Abschnitt geändert, um https://

Hier ist die. Htaccess, die Sie kopieren und einfügen können (machen Sie eine Sicherung Ihrer eigenen zuerst).

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled. 

# 2. In your opencart directory rename htaccess.txt to .htaccess. 

# For any support issues please visit: http://www.opencart.com 

Options +FollowSymlinks 

# Prevent Directoy listing 
Options -Indexes 

# Prevent Direct Access to files 
<FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))"> 
Require all denied 
## For apache 2.2 and older, replace "Require all denied" with these two lines : 
# Order deny,allow 
# Deny from all 
</FilesMatch> 

# SEO URL Settings 
RewriteEngine On 
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie./becomes /shop/ 

RewriteCond %{HTTP_HOST} ^www\. 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteBase/
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] 
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] 
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) 
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it. 
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. 

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: 
# php_flag register_globals off 

# 2. If your cart has magic quotes enabled, This may work to disable it: 
# php_flag magic_quotes_gpc Off 

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try 
# php_value upload_max_filesize 999M 

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value post_max_size 999M 

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value max_execution_time 200 

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields 
# php_value max_input_time 200 

# 7. disable open_basedir limitations 
# php_admin_value open_basedir none 
Verwandte Themen