Для удаления html из url я использую следующее:
Содержимое файла .htaccess
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^.*$ $0.html [L,QSA] RewriteCond %{THE_REQUEST} ([^\s]*)\.html(\?[^\s]*)? RewriteRule (.*) %1 [R=301,L]
Содержимое файла index.html
<a href="/myjobs">My Works</a>
Если я в названии файла myjobs.html поставлю нижний слеш. Пример my_jobs.html
Тогда страница не будет загружаться.
Что нужно прописать в .htaccess для того, что-бы из url удалялось html у таких фалов с нижним слешем как my_jobs.html ??
Ответы (2)
В URL нужно использовать дефисы (-), а не символы подчеркивания (_).
Так рекомендует google в своей документации.
—-—-—-—-—-—-—-—-—
Пруф: https://developers.google.com/search/docs/advanced/guidelines/url-structure?hl=ru&visit_id=637810857877402631-563278094&rd=1
Содержимое файла .htaccess
—-—-—-—-—-—-—-—-—
RewriteEngine On
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
Содержимое файла index.html
—-—-—-—-—-—-—-—-—
<a href="/my-works">My Works</a>