你的问题令人困惑。所以你想要另一个文件,然后包含index.php
WordPress 中的内容?你想达到什么目的?您问题的基本要点似乎是这一行:
一个完整的、详细的 index.php 文件是否绝对需要它才能运行,或者它是一次性的“加载并运行”php 文件,一旦 WP 在浏览器中就不再被引用?
内容管理系统(或几乎任何基于控制器的系统)的工作方式是将所有请求过滤到一个文件中,然后对其采取行动。在 WordPress 中,即index.php
. 它不仅仅是加载主页。它是所有其他页面的网关页面。所以你可以随心所欲,但为什么呢?为了什么利益?
编辑:对我的回答的评论中的原始海报解释说,他们正在考虑防止 WordPress 网站被黑客入侵的方法。重命名文件将不起作用。特别是因为index.php
只在服务器端看到。假设通过一些疯狂的配置,原始发布者将 Apache 调整为始终加载fish.php
为他们的index
. 网络浏览器——以及用户和机器人——仍将获得 WordPress 内容。相反,我执行以下操作作为避免黑客攻击的一种灵活的蛮力方式:我.htaccess
在 CMS 系统的管理区域设置密码保护。逻辑是——而且到目前为止它一直有效——大多数 CMS 系统都受到攻击管理员或登录过程中漏洞的脚本的攻击。是的,有些机器人可能会通过。但是你可以用这种方法消除大量的“低悬的果实”。
例如,下面是 Apache 虚拟主机配置的一部分,我将使用它作为我所调用的站点的示例,该站点mygreatsite.com
基于标准/var/www
. 请注意,我正在添加授权wp-login.php
,wp-admin
但允许admin-ajax.php
通过,因为许多功能都使用它。现在,管理该站点的用户将需要在其标准 WordPress 凭据之上记住一个额外的(有点通用的)<code>htpasswd_wordpress_admin 用户/密码组合。但猜猜怎么了?大多数 CMS 黑客脚本在遇到像这样来自 Apache 的基于浏览器的密码时都会放弃。
# Added for WordPress CMS protection.
<Directory /var/www/mygreatstite.com/wordpress/wp-login.php>
Options FollowSymLinks
AllowOverride all
AuthName "WordPress Login"
AuthType Basic
require valid-user
AuthUserFile /etc/apache2/htpasswd_wordpress_admin
Order Deny,Allow
Deny from all
Satisfy Any
</Directory>
# Added for WordPress CMS protection.
<Directory /var/www/mygreatstite.com/wordpress/wp-admin>
Options FollowSymLinks
AllowOverride all
AuthName "WordPress Admin"
AuthType Basic
require valid-user
AuthUserFile /etc/apache2/htpasswd_cms_admin
Order Deny,Allow
Deny from all
# Allow 'admin-ajax.php' to pass.
<Files admin-ajax.php>
# Order Allow,Deny
Allow from all
</Files>
Satisfy Any
</Directory>