在 localhost 中一切正常。
但是我有一个主机,在 /public_html/site 文件夹中我有主 WordPress 网站。我有另一个 PHP 站点,它在 /public_html/site/BETA 中没有 htaccess。
您可以在此处登录:http: //yoursocialtool.com/BETA/login.php 用户:堆栈密码:溢出现在的问题是,当我在登录后尝试使用表单提交到与http://相同的页面注销时yoursocialtool.com/BETA/dashboard.php它说:
404页面不存在!
但是,如果我直接将 url 放在浏览器地址栏中http://yoursocialtool.com/BETA/dashboard.php那么它的加载很好,没有任何 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 下的部分站点。所以本地主机没有任何 htaccess 或 wordpress。