WordPress-Site可以通过x.x/index.php访问-但不能直接在没有index.php的IP上访问

时间:2020-01-16 作者:IT Blacksmith

全新WordPress安装,在RPi 4上安装了Avade主题-在上访问时效果良好http://203.0.113.111/index.php 从外部连接,但如果我删除index.php 我什么都没有得到-连接被拒绝。

这是正常行为吗?我不应该立即重定向到WP安装索引页吗?我已经将路由器中的端口80转发到Pi的内部IP,所以我无法理解这一点。

我甚至修改了.htaccess 在里面/var/www/html 使用以下行:

DirectoryIndex index.html index.php
但是,唉,尽管我认为它应该工作得很好,但我不明白为什么我必须写index.php 在我的web浏览器中。当然,直接DNS转发可以做到这一点,但常见吗?这只是症状治疗,对吗?

谁能给我一个指向正确方向的指针吗?

编辑:当我尝试从LAN访问我的web服务器内部IP时也是一样的-我必须输入index.php 如果我必须到达WP现场。

编辑2:来自@kero的评论:我重写了AllowOverride 在Apache conf中,从NoneALL 重新启动了Apache,但仍然一无所获。

。。。Apache服务重新启动后仍然没有任何更改。

2 个回复
最合适的回答,由SO网友:IT Blacksmith 整理而成

我成功了!是的!

答案就在wp管理站点和我的dyn帐户的一般设置中。我暂时从他们的网站上查阅了我的dyn记录。然后,我在wp admin中编辑了wordpress站点和文件夹的配置。我将其更改为外部IP,然后它在没有索引的情况下工作。立即使用php。然后我将这些值更改回我的dyndns帐户:http://godset.raspberryip.com 瞧,没有索引。php需要编写,一切正常。不得不通过PHPmydamin编辑网站url,因为WP网站由于我所做的更改而关闭。

不知道是什么问题。。。但感谢所有帮助。

SO网友:MrWhite

这是正常行为吗?

对在默认Apache安装上,仅index.html 设置为DirectoryIndex(默认设置)。

在适当的<VirtualHost> 容器或主服务器配置,您需要添加<Directory> 专门针对定义的文档根目录的节。

例如:

DocumentRoot /var/www/html

<Directory "/var/www/html">
    # Allow public access to the site
    Require all granted

    # FollowSymLinks is required for mod_rewrite
    # (Although this is actually the default server setting)
    Options FollowSymLinks

    # Allow mod_dir to serve index.php by default
    DirectoryIndex index.php

    # Give full access to htaccess (optional)
    # Strictly speaking you only need "FileInfo" for mod_rewrite
    # - Alternatively place all your htaccess directives here...
    AllowOverride All
</Directory>
然后需要重新启动Apache。

mod\\u dir也需要启用,但默认情况下应该加载。