私は自分のウェブサイトで URL の書き換えに忙しくしていましたが、突然何かが起こったとき、それがどのように起こったのか、どのように可能であり、どうすればこれが起こらないようにするのか、おそらく URL 書き換えルールに小さな間違いがあったのかもしれません。アドレスの前にwwwを強制しますが、wwwを削除すると. Enter キーを押すと、.nl の後ろに / を付けていないため、見つけられないアドレスが表示されます
どういうわけか余分な index.php がその間に修正され、この方法で Web サイト全体が CSS マークアップなしで表示されるようになるとどうなりますか...
再現可能です。例のように追加の index.php を間に合わせるだけで、CSS ファイルからのマークアップなしで Web サイト全体を表示およびサーフィンできます。
[http://www.capoeiravelsen.nl/index.php/index.php?page=home]
ここで実際に何が起こっているのですか?この方法で CSS ファイルを読み取らないのはなぜですか。もちろん、ユーザーは間に余分な index.php を修正するだけではありませんが、これは一種のセキュリティ違反やバグなどを示します....
[編集]
ええ、それは CSS を取得できないため、別のディレクトリなどを検索できないという論理に思えますが、index.php という名前のフォルダーがどこにも存在しないため、他のすべてのドキュメントを取得する方法がまだわかりません。仕方。
この書き換えルールで発生しました:
RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} (.*) RewriteRule (.*) http://www.%1$1 [R=301,L]
ここで、アドレスに www を強制しましたが、ランダムなクレイジーなユーザーが www を削除したい場合。Enterキーを押すと、奇妙な効果が発生します。
リクエストは次のように変更されます: [http://www.capoeiravelsen.nlindex.php/?page=home] ブラウザはもちろんそのページが見つからないと言っています
.php と ? の間の / に気付かない .nl と index.php の間に / を入れて [http://www.capoeiravelsen.nl/index.php/?page=home] になり、Enter キーを押しました。
その後、アドレス全体が [http://www.capoeiravelsen.nl/index.php/index.php?page=home] に変更されました。
サイトの閲覧は可能ですが、マークアップなしで...
書き換えルールを次のように変更して、この問題を解決しました。
RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
ランダムなユーザーがwwwを削除したとき。Enter キーを押しても、おかしなことは何も起こりません。また強制されるだけ