Вот несколько способов скрыть расширение веб-сайта, а также примеры кода с использованием популярных веб-технологий:
-
Переписывание URL-адресов с помощью Apache mod_rewrite (PHP):
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^([^\.]+)/?$ $1.php [L]В этом примере расширение «.php» удаляется из URL-адресов с помощью модуля Apache mod_rewrite. Например, он преобразует «/about.php» в «/about».
-
Переписывание URL-адресов с помощью nginx (PHP):
location / { try_files $uri $uri/ $uri.php?$args; }Этот фрагмент конфигурации nginx удаляет расширение «.php» из URL-адресов. Например, он преобразует «/about.php» в «/about».
-
Маршрутизация с помощью веб-фреймворка (например, Django):
from django.urls import re_path from . import views urlpatterns = [ re_path(r'^about/$', views.about), ]В этом примере Django шаблон URL-адреса «/about/» соответствует функции представления
about. Расширение файла не включено в URL. -
Маршрутизация на стороне клиента с помощью JavaScript (например, React Router):
import { BrowserRouter as Router, Route } from 'react-router-dom'; import About from './components/About'; function App() { return ( <Router> <Route path="/about" component={About} /> </Router> ); }Этот пример React Router демонстрирует, как обрабатывать маршрутизацию на стороне клиента. URL-адрес “/about” соответствует компоненту
About, расширение файла не указано. -
Среды MVC (например, Laravel):
В средах MVC, таких как Laravel, расширение обычно скрыто по умолчанию. URL-адреса сопоставляются с действиями контроллера без включения расширения файла.
Стоит отметить, что сокрытие расширения веб-сайта потенциально может повлиять на SEO. Поисковые системы могут полагаться на расширения файлов, чтобы понять тип и релевантность контента. Если вы решите скрыть расширения, убедитесь, что вы правильно обрабатываете перенаправления и канонические URL-адреса, чтобы избежать проблем с дублированием контента.