wordpress - 通过 Wordpress 在没有 FTP 访问的情况下编辑 .htaccess

标签 wordpress .htaccess ftp

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

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

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

请尝试仅发表建设性意见,不要“联系托管公司”。如果可以,我愿意。

最佳答案

如果您的托管公司已正确设置 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 文件,您可能再也无法更改它,因为网络服务器会将您重定向到新站点,而不是在旧站点上执行脚本。

关于wordpress - 通过 Wordpress 在没有 FTP 访问的情况下编辑 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20709379/

相关文章:

php - 在 Woocommerce 中以编程方式应用优惠券

css - 如何将我的主域指向子文件夹

c# - 使用 FtpWebRequest 输出日志

java - FTP 还是其他方式?我只需要指导

php - ftp 文件关闭操作出错

html - Favicon 未显示在 Internet Explorer 中

mysql - 可怕的 MySQL 导入编码问题 - 重新审视

wordpress - 将自定义数据属性添加到 Wordpress 导航菜单

.htaccess - 重定向 url,如果它包含一些单词

.htaccess RewriteOptions Inherit不是继承