Как включить чистый URL? (VPS — Debian 9)

У меня есть VPS-сервер (Debian 9), и я хочу иметь чистый URL-адрес.

Например, если я ввожу «examle.com/example», вместо отображения страницы появляется сообщение «Внутренняя ошибка сервера».

Что мне нужно сделать, чтобы эта ошибка исчезла и показала страницу?

-1

Решение

Этот стиль URL (domain.tld / resource / path) должен обрабатываться через mod_rewrite (с Apache) или через конфигурацию try_files с Nginx. Конечно, какой вы используете, зависит от того, какой HTTP-сервер вы используете. Если вы явно не настроили Nginx, это, вероятно, Apache.

Предполагается, что используется Apache (httpd). Самый простой способ справиться с этим — через файл .htaccess в корне документа (где находится файл index.php). Вам нужно убедиться, что mod_rewrite включен в вашей конфигурации httpd (обычно он находится в /etc/httpd/httpd.conf или находится в подкаталоге).

Есть много вариантов конфигурации, доступных для вас через mod_rewrite. Вот пример одного, который будет переводить все URL, которые не указывают на фактический каталог или файл (таким образом сохраняя вашу способность обслуживать статический контент непосредственно из httpd), в index.php:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Вам необходимо проанализировать URL-адрес, чтобы определить, что с ним делать (он будет содержаться в $ _SERVER [‘REQUEST_URI’]. Обязательно укажите ссылку на mod_rewrite документация, если вам нужно внести изменения в эту конфигурацию.

0

Другие решения

попробуйте это, я надеюсь, это поможет вам
создайте файл .htaccess в своей папке html и напишите в нем код удара.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
</IfModule>

или попробуйте ниже.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>

и последний — для косой черты в конце. (используйте только коды, которые вам нужны).

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
</IfModule>

больше вы можете понять на

Благодарю.

0

Я не знаю почему, но все время он показывает мне ошибку «500», даже если у меня есть пустой .htaccess и основные файлы apache2.conf и 000-default.conf

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector