Это probbly то, что вы ищете, хотя вы, возможно, придется настроить его для использования:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)$ $1.php [L]
Это второе правило может быть использовано без изменений в конфигурации хоста настоящих http-серверов или в файлах динамической конфигурации (файлы стиля).
Очевидно, что модуль перезаписи должен быть включен.
В последнем примере вы даете, thanks.php/thank-you
может не быть реализована таким образом, так как «благодарственные» не равно «спасибо», но я предполагаю, что это опечатка. Если вам действительно нужно, что отображение, то вы должны выполнить специальное правило только для этого одного URI помещен перед тем, что последнее правило выше:
RewriteRule ^/?thank-you$ thanks.php [L]
И общий совет: вы должны всегда предпочитают места такие правила внутри конфигурации хоста http-серверов вместо использования динамических файлов конфигурации («.htaccess»). Эти файлы, как известно, подвержены ошибкам, трудно отлаживаются, и они действительно замедляют работу сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет контроля над конфигурацией хоста (читай: действительно дешевые хостинг-провайдеры) или если у вас есть приложение, которое опирается на составление собственных правил перезаписи (что является очевидным кошмаром безопасности).
Спасибо. Как я могу сделать это в обратном порядке, например, при вводе /privacy.php переписывается как/privacy. – John