現在、リクエストを処理するコントローラーがあります (フレンドリ URL を使用)。このコントローラーにリダイレクトするには、次の .htaccess を使用します。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ __controller.php?p=$1 [L,QSA]
次に、ホームページである /home にリダイレクトするindex.phpがあります (これを強制するので、ホームページもコントローラーを使用します)。
<?php
header('Location: home', true, 301);
exit();
?>
ただし、ファイルが index.php である場合、またはそれがルート ドメインである場合にも、このコントローラーに送信する必要があります (ホームページを www.test.com/home にするのではなく、単に www.test.com にする必要があるため) )、したがって、次のそれぞれがコントローラーを通過します。
www.test.com/friendly-url/123/post-topic (現在動作中)
だけでなく:
www.test.com/index.php および www.test.com
index.php ファイルが存在するため、最後の 2 つの条件は現時点では機能しないため、.htaccess はコントローラー経由でファイルを送信しません。