cPanel子目录安装Typecho

众所周知,cPanel是一个应用非常广泛的虚拟主机平台,因为WordPress的广泛应用性跟支持范围广泛,它的设置中也支持修改安装目录,同时在官网上也有相应的教程,所以WordPress安装在子目录应不是很麻烦,但是对于Typecho这种小众及轻量的CMS,尤其是大部分都会开启伪静态,所以是要重新设置下修改的。

以nicky1605.com网站为例,如果在cPanel中想用根域做网站,与LNMP可以指定文件夹不同,必须把所有的文件都放置在Public_Html文件夹的根目录下,但是我们很有可能还会在根域下面用二级域名做站,一般的做法也是把二级域名的子目录放在Public_Html文件夹的根目录下,这样会文件来说不齐整,而且如果改动文件也容易造成混淆。

所以我们一般都会在Public_Html文件夹的根目录中为根域单独建立一个文件夹(这里以www文件夹为例),当然也可以把二级域名的子目录指定到非Public_Html文件夹下,不过我不太推荐这种做法。

想要实现这种效果需要修改的地方除了Index.php以外,需要在根目录(一级目录)下跟子目录下都配置.htaccess文件。

放在根目录下的htaccess文件

[code]
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST} ^(www.)?nicky1605.com$ [L,R=301]
#把root改为要绑定的目录.
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/build/
RewriteRule ^(.*)$ www/$1 [L,QSA]
</IfModule>
[/code]

放在目标文件夹www下的htaccess文件

[code]<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>[/code]

放在根目录下的index.php文件

[code]<?php
/**
* Typecho Blog Platform
*
* @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org)
* @license GNU General Public License 2.0
* @version $Id: index.php 1153 2009-07-02 10:53:22Z magike.net $
*/

/** 载入配置支持 */
if (!defined('__TYPECHO_ROOT_DIR__') && !@include_once './www/config.inc.php') {
file_exists('./www/install.php') ? header('Location: ./www/install.php') : print('Missing Config File');
exit;
}

/** 初始化组件 */
Typecho_Widget::widget('Widget_Init');

/** 注册一个初始化插件 */
Typecho_Plugin::factory('./www/index.php')->begin();

/** 开始路由分发 */
Typecho_Router::dispatch();

/** 注册一个结束插件 */
Typecho_Plugin::factory('./www/index.php')->end();[/code]

 

 

当然,如果不是cPanel主机,而是采用的Nginx作为web服务器的话,可以考虑下这个

https://www.boke8.net/typecho-subfolder-nginx-url-rewrite.html

 

参考网站:https://acg.cx/archives/14.html

https://www.seo96.com/zytg/2420.html

cPanel子目录安装Typecho:等您坐沙发呢!

发表评论

表情
还能输入210个字