ЧПУ-ссылки

siprise

Местный
Сообщения
198
Реакции
115
Баллы
163
В общем то, решил я избавится от индекс пхп в домене форума, включил "Использовать ЧПУ-ссылки" ну так то сработало, но вот выдает ошибку при попытки перейти на какой либо узел и тд, шо делать?
2024-02-05_15-55-10.png
 
Решение
Начнём с небольшой теории. Правила mod_rewrite для преобразования URL можно описывать как в конфигурационном файле Apache apache2.conf (в некоторых системах называется httpd.conf), так и в файле .htaccess отдельно для каждой директории.

Поскольку для большинства ситуаций удобнее использовать именно .htaccess, то для работы mod_rewrite нам нужно:
  • включить непосредственно сам mod_rewrite
  • включить поддержку файлов .htaccess
Если вы используете Debian, Ubuntu, Linux Mint, Kali Linux то mod_rewrite можно включить следующей командой:
Код:
sudo a2enmod rewrite

Для включения поддержки файла .htaccess в конфигурационном файле Apache (/etc/apache2/apache2.conf или /etc/httpd/conf/httpd.conf...
Веб-сервер - это компьютерное программное обеспечение и базовое аппаратное обеспечение, которое принимает запросы через HTTP (сетевой протокол, созданный для распространения веб-контента) или его безопасный вариант HTTPS.

Агент пользователя, обычно веб-браузер или средство поиска веб-страниц, инициирует обмен данными, отправляя запрос на веб-страницу или другой ресурс с использованием HTTP, и сервер отвечает содержимым этого ресурса или сообщением об ошибке.
 
Веб-сервер - это компьютерное программное обеспечение и базовое аппаратное обеспечение, которое принимает запросы через HTTP (сетевой протокол, созданный для распространения веб-контента) или его безопасный вариант HTTPS.

Агент пользователя, обычно веб-браузер или средство поиска веб-страниц, инициирует обмен данными, отправляя запрос на веб-страницу или другой ресурс с использованием HTTP, и сервер отвечает содержимым этого ресурса или сообщением об ошибке.
https, Apache
 
Последнее редактирование:
Тогда если у вас стандартный .htaccess в корне форуме не должно возникнуть проблем с работой ЧПУ, единственное почему может не работать, это если в apache выключен модуль mod_rewrite, но как правило он всегда включен.
 
Тогда если у вас стандартный .htaccess в корне форуме не должно возникнуть проблем с работой ЧПУ, единственное почему может не работать, это если в apache выключен модуль mod_rewrite, но как правило он всегда включен.
А где можно проверить, включен он или нет?
 
Начнём с небольшой теории. Правила mod_rewrite для преобразования URL можно описывать как в конфигурационном файле Apache apache2.conf (в некоторых системах называется httpd.conf), так и в файле .htaccess отдельно для каждой директории.

Поскольку для большинства ситуаций удобнее использовать именно .htaccess, то для работы mod_rewrite нам нужно:
  • включить непосредственно сам mod_rewrite
  • включить поддержку файлов .htaccess
Если вы используете Debian, Ubuntu, Linux Mint, Kali Linux то mod_rewrite можно включить следующей командой:
Код:
sudo a2enmod rewrite

Для включения поддержки файла .htaccess в конфигурационном файле Apache (/etc/apache2/apache2.conf или /etc/httpd/conf/httpd.conf или другое расположение в зависимости от дистрибутива) найдите группу строк:
Код:
<Directory /путь/до/папки/сайтов>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
В Debian, Ubuntu, Linux Mint, Kali Linux эта группа строк выглядит так:
Код:
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
В этой группе строк замените
Код:
AllowOverride None
на
Код:
AllowOverride All
После чего перезапустите веб-сервер (на некоторых дистрибутивах служба называется не apache2, а httpd):
Код:
sudo systemctl restart apache2
 
Начнём с небольшой теории. Правила mod_rewrite для преобразования URL можно описывать как в конфигурационном файле Apache apache2.conf (в некоторых системах называется httpd.conf), так и в файле .htaccess отдельно для каждой директории.

Поскольку для большинства ситуаций удобнее использовать именно .htaccess, то для работы mod_rewrite нам нужно:
  • включить непосредственно сам mod_rewrite
  • включить поддержку файлов .htaccess
Если вы используете Debian, Ubuntu, Linux Mint, Kali Linux то mod_rewrite можно включить следующей командой:
Код:
sudo a2enmod rewrite

Для включения поддержки файла .htaccess в конфигурационном файле Apache (/etc/apache2/apache2.conf или /etc/httpd/conf/httpd.conf или другое расположение в зависимости от дистрибутива) найдите группу строк:
Код:
<Directory /путь/до/папки/сайтов>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
В Debian, Ubuntu, Linux Mint, Kali Linux эта группа строк выглядит так:
Код:
<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
В этой группе строк замените
Код:
AllowOverride None
на
Код:
AllowOverride All
После чего перезапустите веб-сервер (на некоторых дистрибутивах служба называется не apache2, а httpd):
Код:
sudo systemctl restart apache2
Я решил проблему просто обновив движок, я использовал 2.2.8 уже более года, в первый раз он меня подвел, ну да ладно.
 
Решение
Я решил проблему просто обновив движок, я использовал 2.2.8 уже более года, в первый раз он меня подвел, ну да ладно.
Вообще с этой версии в этом плане не должно было возникнуть проблем.
 
Назад
Верх Низ