У меня есть сценарий php на root сервера, на который люди ссылаются, например:
http://mywebsite.com/test.php?id=123
Я создал новый веб-сайт WordPress для клиента и создал пользовательскую запись type, который принимает параметры URL и работает аналогично старому сценарию при обращении по адресу:
http://mywebsite.com/test/?id=123
Также запрашивается, чтобы пользователь всегда перенаправлялся на http, даже если он пришел по ссылке https. Я добавил свои правила переписывания после правил WordPress в htaccess. Вот мои правила:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} test.php [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ test.php?id=$1 [L,QSA]
</IfModule>
Первый - всегда перенаправлять на http, а второй - переписывать и сохранять параметр. Это частично работает, если я получаю доступ к:
https://mywebsite.com/test.php?id=123
, это приводит меня к:
http://mywebsite.com/test/?id=123
, но не переписывает, если я получаю доступ:
http://mywebsite.com/test.php?id=123
Что я отсутствует