我使用Installatron在现有PHP网站的子目录中安装Wordpress,以便向该网站添加博客。我的主要网站是通过cPanel管理的。
以下是我的网站目录结构:
/-- public_html
/-- .htaccess
/-- index.php
/-- about.php
/-- etc.
/-- product-pages
/-- index.php
/-- product-a.php
/-- product-b.php
/-- etc.
/-- blog
/-- wp-admin
/-- wp-content
/-- wp-includes
/-- .htaccess
/-- .user.ini
/-- index.php
/-- etc.
Wordpress安装将标准Wordpress节添加到根目录
.htaccess
:
# 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>
# END WordPress
正如许多人所发现的那样,这会禁用主网站的自定义404错误页面,而显示网站主页。Wordpress博客的404错误按预期工作,并显示Wordpress自定义404错误。
Wordpress还创建了.htaccess
在其自身/blog
安装目录。它包括以下部分:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
我发现通过从
.htaccess
在主网站根目录中,主网站自定义404和Wordpress自定义404功能似乎都正常工作。有什么理由我不应该这样做吗?
是在根目录中添加Wordpress节.htaccess
由Installatron Wordpress安装程序执行的子目录安装行为不正确?
SO网友:MrWhite
通过从中删除Wordpress部分,我发现了这一点。htaccess在主网站根目录中,主网站自定义404和Wordpress自定义404功能似乎都正常工作。有什么理由我不应该这样做吗?
是的,这就是我要建议的。
如果子目录中安装了WordPress/blog
并通过URL访问/blog/
那么就不需要WordPress了.htaccess
文档根目录中的文件。你当然不应该两者兼得。
然而;WordPress;.htaccess
文档根目录中的文件似乎要重写为/index.php
在文档根目录中,哪个是错误的?!
是在根目录中添加WordPress节。Installatron Wordpress安装程序的htaccess子目录安装行为不正确?
你需要一个.htaccess
如果您在/blog
子目录,但/blog
子目录已从URL路径中隐藏。(然而,它的书写方式与当前的不同.htaccess
根目录中的文件。事实上,这与.htaccess
文件当前位于/blog
子目录。)