【问题标题】:Editing .htaccess without FTP access through Wordpress通过 Wordpress 在没有 FTP 访问的情况下编辑 .htaccess
【发布时间】:2013-12-20 17:57:50
【问题描述】:

我无法访问我的 FTP,但我可以通过 Wordpress 编辑网络。有什么办法可以通过管理框架生成 .htaccess 文件?我知道可能有一个插件可以做到这一点,但请记住,我没有 FTP 访问权限,并且插件需要安装它。

我需要 .htaccess 文件将用户重定向到另一个站点。

我知道这可能会让您觉得奇怪和愚蠢,但这是因为公司的核心决定是让网站由一家“友好”的托管公司托管。无法恢复 FTP 的登录名/密码,所以这可能是唯一的解决方案。

请尝试仅发布建设性的 cmets,不要“联系托管公司”。如果可以的话,我会的。

【问题讨论】:

    标签: wordpress .htaccess ftp


    【解决方案1】:

    如果您的托管公司已正确设置 wordpress,则无法执行此操作,因为 unix 权限应使 .htaccess 对 Web 服务器的所有者是只读的。

    如果公司没有这样做,并且如果你有办法更改模板,你可能会通过创建一个包含 php 代码的模板来打开和编写 .htaccess 文件。

    示例代码放在 header.php 的顶部:

        echo 'Current dir: ',getcwd(),"<br>\n";
        if ($handle=opendir('.')) {
                while (($file=readdir($handle))!==false) {
                        $ok=(is_writable($file) ? "ok" : "can't write");
                        echo "file '$file': $ok<br>\n";
                }
                closedir($handle);
        }
    

    这是为了测试你是否在你的 wordpress 安装的根目录中。它应该为您提供当前目录、该目录中所有文件的列表(除了 .htaccess、index.php 和各种 wp-* 文件)以及它们的可写性。

    检查一切无误后,添加

    file_put_contents('.test', "RewriteEngine On\nRewriteRule ^(.*)$ site.com$1 [R=301,QSA,L]\n");
    echo("<code><pre>-------- included file starts here\n");
    include(".test");
    echo("-------- included file ends here</pre></code>\n");
    

    到 php 代码。这将写入一个测试文件并将其包含在内,以便您检查一切是否正常。检查文件内容后,将 .test 替换为 .htaccess。

    警告:您应该非常确定 .htaccess 的内容。 file_put_contents 不会附加新字符串,它会覆盖整个文件。一旦您编写了一个错误的 .htaccess 文件,您可能无法再次更改它,因为 Web 服务器会将您重定向到新站点,而不是在旧站点上执行脚本。

    【讨论】:

    • 如何知道我有这些权限?我可以编辑模板,切换它们等等。所以我只是添加一些 php 例如我的主页?
    • 将 php 添加到您的主页(您在管理菜单的“页面”中编辑的页面)将无济于事,因为它不会被执行。您需要一种编辑主题源代码的方法;主题是用 php 编写的。下载一些主题,如二十三(到您的计算机,而不是服务器)。打开 zip,并将 php 代码添加到其中一个 php 文件,例如标题。使用外观/安装主题/上传来上传更改的 zip 文件。激活该主题并重新加载您的主页。
    • 很好,这可能有效,因为我可以上传 .zip 主题文件夹。关于如何在 php 的帮助下编辑 .htaccess 的任何提示?
    • 在答案中添加了一个示例。
    • 还有一个问题,如果我想要 RewriteEngine On 和 RewriteRule ^(.*)$ site.com$1 [R=301,QSA,L],我会将其放入 file_put_contents 中的第二个字符串中,使用 \ n 划分这些语句?
    【解决方案2】:

    我很抱歉你的情况。什么是托管公司(如果我使用它们,会记住这一点)。尝试提供帮助:

    1. 您可以访问 CPanel 吗?大多数托管服务提供商开箱即用。 Cpanel 有一个文件管理器。

    2. 研究 Wordpress 文件管理器 (http://wordpress.org/plugins/wp-filemanager/)

    【讨论】:

    • 这是一家德国公司,我猜你们的道路可能不会交叉。可悲的是,没有CPanel。为了能够安装插件,我必须有 FTP 登录/通过等。
    • 恐怕即使它有CPanel、Plesk或类似的东西,它也会像ftp服务器一样受到密码保护。
    【解决方案3】:

    如何从托管 Cpanel 编辑 wordpress .htaccess 文件:如果您当前无法登录 wordpress 仪表板,或面临 500 内部服务器错误。您有 90% 的可能性是从您的 wordpress 仪表板编辑您的 .htaccess 文件。在这种情况下,您只能通过从 cpanel 编辑来修复您的 wordpress .htaccess 文件。使用 .htaccess 编辑器插件从 wordpress 仪表板编辑 .htaccess 文件风险不大。如果您将实施任何错误的代码,那么您可能会面临 500 内部服务器错误并且您的网站可能会崩溃。因此,首先您应该在编辑现有的 .htaccess 文件之前对其进行备份。如果你有你的 wordpress .htaccess 文件的备份,那么你也可以通过你的主机 cpanel 上传它。 https://howtoways.com/how-to-edit-wordpress-htaccess-file-from-hosting-cpanel/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多