htaccess-fileを使用して、サイトのURLのレイアウトを構成します。
現時点で問題なのは、フォームを送信できなくなったことです。
まったく同じコードを含む2つのファイルがあります(コピーして名前を変更します)。呼び出すとpage1.php、URLはとして表示されpage1.phpます。ログインしようとしたり、エラーが発生したりする間は、すべて正常に動作します。今、私が呼び出すときindex.php(それは同じコードを持っています!)、それがするべきであるようにURLにhtaccess隠れます!index.phpしかし、ログインスクリプトをテストすると、フォームを投稿しても何も起こりません。サイトを更新するだけです。だから私はなぜこれが起こっているのか分かりませんか?
htaccessこの動作は、リライトルールを介して明確に引き起こされます。削除htaccessして再試行しました。それがなくても動作しますが、それでもこの醜いURLがあります。
何が入っているかを示して大丈夫htaccess:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteRule ^.*\.html$ %1.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
AddType application/x-httpd-php .htm .html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^index\.(htm|html|php) http://www.domain.com/ [R=301,L]
## rewrite the index file in subdirectories
RewriteRule ^(.*)/index\.(htm|html|php) http://www.domain.com/$1/ [R=301,L]
フォームは次のように送信されます。
form action = "<?php echo $_SERVER['PHP_SELF']?>" method= "post"...
ですから、私を助けてくれる人がいたら、本当にありがたいです。
アップデート:
私が達成したいことをさらに情報を与えるために:
まず、構造は次のとおりです。言語が異なるため、ルート構造は次のようになります。
www.domain.com/languagefolder/...
これで、ユーザーが電話www.domain.comをかけているときに、にリダイレクトされますlanguagesubfolder。このサブフォルダのインデックスページにリダイレクトされている間、最初www.domain.com/languagesfolder/index.phpに表示されるのは表示されないため、表示されないようにする必要がありwww.domain.com/languagesfolder/ます。それは自動的に行われます。それはいいです。ただし、呼び出すときは、ユーザーが表示できないようwww.domain.com/languagesfolder/index.phpに書き直す必要があります。これはより専門的なようです。www.domain.com/languagesfolder/.../index.php
次のことは、ファイル拡張子が表示されないようにする.../page代わりに、ユーザーが入力するだけでよいように、次のページにリンクが与えられることです。.../page.php最後になりましたが、最後になりますが、ユーザーがファイルの種類を調べようとするときに、拡張子を書き直してSQLインジェクションを防ぎ、ユーザーがまたはと入力できるように.../page.phpし.../page.htmlます.../page.htm。