ローカルホストではすべて問題ありません。
しかし、/public_html/site フォルダーにメインの WordPress サイトがあるホスティングがあります。/public_html/site/BETA に htaccess がない別の PHP サイトがあります。
ここでログインできます: http://yoursocialtool.com/BETA/login.phpユーザー: スタック パスワード: オーバーフロー 問題は、 http:// のような同じページへのフォーム送信を使用して、ログイン後にログアウトしようとするときです。 yoursocialtool.com/BETA/dashboard.phpそれは言う:
404 ページが見つかりません!
しかし、ブラウザのアドレスバーhttp://yoursocialtool.com/BETA/dashboard.phpに URL を直接入力すると、404 エラーなしで正常に読み込まれます。
/public_html の .htaccess:
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursocialtool.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursocialtool.com$
RewriteCond %{REQUEST_URI} !site/
RewriteRule (.*) /site/$1 [L]
/public_html/site の .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /site/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /site/index.php [L]
</IfModule>
# END WordPress
これが私のdashboard.phpで使用しているコードです:
<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
ini_set('error_log','error.log');
require("config.inc.php");
require("__require_login.php");
require_once("_isconnected.php");
if (isAppLoggedIn()){
require("_dashboard.html.php");
} else {
echo ($msg);
?>
<script>
window.location = "./login.php?from=dashboard&location=";
window.location.assign("./login.php?from=dashboard&location=assign");
</script>
<?php
}
?>
私が直面している問題は、ログイン後にコードがサーバーで JavaScript リダイレクトを実行していないことです。ログアウトに成功したように見えますが、ログアウトリクエストを送信した後、実際にはdashboard.phpを取得していません。また、dashboard.php でログアウト アクションを処理しています。/public_html/site/index.php は、ログアウトの送信後にのみ処理しているようです。
注意: 私のローカルホストには、/public_html/site/BETA の下のサイトの一部しかありません。したがって、localhost には htaccess や wordpress がありません。