Я много раз искал это в Stackoverflow и в Интернете, но не смог найти того, кто все это делает, поэтому я задаю этот вопрос.
Для одного из моих новых проектов я решил:удалить .php
расширения файлов из URL.
Использование .htaccess
Я хочу
- Принудительно SSL
Redirect www
URL-адреса non-www
Удалить .php
расширение файла из моих URL-адресов
- Перенаправить старые
.php
URL-адреса на новые не URL-адреса - Добавить косую черту после URL
/
Это то, что я пробовал, но косая черта и ssl не работают должным образом.Я не знаю, правильно ли я использую порядок.
Для принудительного использования SSL
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
WWW без WWW
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
Удаление и конечный слеш
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]
Перенаправить файлы расширения на не расширение.
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.example.com/yourdirectory/$1 [R=301,L]
Как добиться этого наилучшим образом?Любой вклад будет принята с благодарностью!