私は GoDaddy を通じて共有ホスティング アカウントを持っており、そのサイトでは .htaccess を使用してすべてのリクエストを index.php 経由でルーティングしています。これはそれ自体でうまく機能します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]
次に、www 以外の URL を使用するように制限したかったので、その前に次を追加しました。
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
したがって、全体としては次のとおりです。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L,QSA]
ただし、これら 2 つを一緒に使用すると機能しません。URL は、ルーティングする必要がある URL の /missing.html にリダイレクトしようとします。別々に、これらは両方とも問題ありません。両方を連携させる方法はありますか?