HTTP к HTTPS перенаправить красивые URL не работает - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь настроить сервер Apache в Ubuntu 18.04, мне удалось все установить и включить HTTPS.

Проблема в том, что при вводе красивых URL я получаю это сообщение

не найден Запрашиваемый URL / prettyurl не был найден на этом сервере. Сервер Apache / 2.4.29 (Ubuntu) на сайте example.com Порт 443

Файл конфигурации

sudo nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/html

     <Directory /var/www/html>
        Options FollowSymLinks
        AllowOverride all
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin admin@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/html

        <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =www.example.com [OR]
        RewriteCond %{SERVER_NAME} =example.com
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI [END,NE,R=permanent]

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

.htaccess

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?page=$1&c=$2&d=$3&e=$4 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?page=$1&c=$2&d=$3 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?page=$1&c=$2 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?page=$1 [NC,L]

РАБОЧИЕ URL-адреса

https://example.com
https://www.example.com

https://www.example.com?page=prettyurls&id=1

http://example.com

http://www.example.com

http://example.com/prettyurls/1 (Pretty URL on HTTP working)

НЕ РАБОТАЕТ

https://www.example.com/prettyurls/1 (Pretty URL on HTTPS NOT working)
https://example.com/prettyurls/1

ERROR

Not Found

The requested URL /prettyurl was not found on this server.
Apache/2.4.29 (Ubuntu) Server at example.com Port 443

Проблема с вышеуказанной ошибкой состоит в том, что URL действителен и работает по HTTP, но как только HTTPS будет работать, он не будет работать

Я надеюсь, что кто-то может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...