Как включить чистый URL?(VPS - Debian 9) - PullRequest
0 голосов
/ 14 февраля 2019

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

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

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

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Этот стиль 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 голосов
/ 14 февраля 2019

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

0 голосов
/ 14 февраля 2019

попробуйте это, я надеюсь, это поможет вам создать файл .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>

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

...