我的htaccess文件中有以下与wordpress相关的代码。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我创建了一个名为test
的新文件夹,当我尝试从浏览器访问它时,它显示404错误。
当我从htaccess文件中删除上面的代码时,我可以访问新文件夹,但wordpress网站的其余部分会中断。所以我根本无法摆脱这段代码。
我尝试将其添加到代码中:
RewriteCond %{REQUEST_URI} !^/test
所以它看起来像这样:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/test
RewriteRule . /index.php [L]
</IfModule>
没有结果,我仍然看到404错误。
有人可以就此问题提出建议吗?
我尝试了很多方法,包括这个,但仍然无效!
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !(test) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 0 :(得分:0)
如何将WordPress安装移动到子文件夹
将wp- *,index.php,.htaccess移动到新的wordpress文件夹 编辑wordpress / .htaccess:
找到这一行:RewriteRule。 /index.php [L] 成功:RewriteRule。 /wordpress/index.php [L] 在/ path / to / www中创建一个名为.htaccess的新文件,然后添加:
RewriteEngine on
RewriteRule ^$ https://www.example.com/ [L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1 [L]
</IfModule>
另一种在子目录中移动所有内容的方法
=========================更新的答案================= ============= 强>
在主题functions.php中添加此行:
include(ABSPATH . 'custom.php');
说明:
你的wp-config.php应该包含以下代码(靠近页面底部):
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
他们正在将wordpress安装的路径保存到ABSPATH。
它将类似于“/ var / www / foo /”或类似内容。因此,您可以使用文件路径连接ABSPATH。例如,如果您的php文件位于某个文件夹中,例如“example.com/somefolder/custom.php”,您将使用
include(ABSPATH . 'somefolder/custom.php');
希望这有帮助!
=======================答案3 =================== === 强>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(test/.*)$
</IfModule>
您可以使用
将内容列入白名单RewriteCond %{REQUEST_URI} !^/(test|test/.*)$
参考链接: