このhtaccessファイルをいくつかの書き換えルールで実行しましたが、問題は、サーバー上の個々の.phpファイルにアクセスできるだけでなく、domain.com / admin/change_profile.phpなどのセクションに直接アクセスできることです。
これは正常ですか?私はこれが起こるはずがないと思った。このhtaccessファイルを実行して、ルールが満たされた場合にのみそのフォルダーに移動するようにするにはどうすればよいですか?つまり、domain.com / admin/change_profile.phpまたはdomain.com/admin/などへの直接アクセスを禁止します。
RewriteEngine on
RewriteRule ^/?(us|uk|eu)/?$ test.php [NC,L] #Country
RewriteRule ^/?(us|uk|eu)/(profile)/([a-zA-z0-9]+)/?$ test.php [NC,L] #Country - Profile
ここ:
http://localhost/us -> Works
http://localhost/us/profile/companyname -> Works
http://localhost/admin -> Works too! But admin is not in the set of rules above. admin is a folder inside htdocs.
(us | uk | eu)ルールの一部ではないので、機能するべきではありませんでした。注:htdocs内にphpファイルが含まれるフォルダーです。これはどのように起こっているのか、そしてそれをどのように克服するのか。