【问题标题】:Have subdomain act as root (htaccess?)让子域充当根(htaccess?)
【发布时间】:2016-06-23 12:00:17
【问题描述】:

我有一个网站,根文件夹中有一些内容。

然后我在子域的子文件夹中有一个 Wordpress 站点。例如,Wordpress“联系人”页面的 URL 如下所示。

subdomain.mywebsite.com/subfolder/contact/

有没有办法让这个 Wordpress 网站充当网站的根而不移动文件?是通过 htaccess 文件还是其他方法?

重要的是用户不知道他们在子域/子文件夹中,因此对于 wordpress 网站的联系页面,url 栏必须看起来像:

www.mywebsite.com/contact/

非常感谢任何帮助。

【问题讨论】:

    标签: wordpress apache .htaccess mod-rewrite


    【解决方案1】:

    您可以在您的网络服务器的虚拟主机条目中执行此操作。

    示例主条目:

    <VirtualHost *:80>
        ServerAdmin xxx@xxx.com
        DocumentRoot "c:/Users/xxx/Documents/www/" 
        ServerName xxx.com
        ErrorLog "logs/xxx.error.log" 
        CustomLog "logs/xxx.access.log" common
    </VirtualHost>
    

    子域条目示例:

    <VirtualHost *:80>
        ServerAdmin xxx@xxx.com
        DocumentRoot "c:/Users/xxx/Documents/www/subfolder" 
        ServerName subdomain.xxx.com
        ErrorLog "logs/subdomain.xxx.error.log" 
        CustomLog "logs/subdomain.xxx.access.log" common
    </VirtualHost>
    

    【讨论】:

    • 对不起,虚拟主机条目是什么意思?我正在查看我网站的 cpanel,但看不到任何名称。我应该寻找其他地方吗?
    • 它是一个虚拟主机,通常你可以在使用管理面板时将一个子域映射到一个子文件夹,不过我并不完全了解 cpanel。您可以访问 httpd.conf 吗?
    • 从我刚刚读到的应该是:/etc/httpd/conf/httpd.conf?就我而言,/etc/ 中没有 httpd 文件夹
    • 如我所说我不太了解cpanel,但尝试在此处输入:主页»服务配置»Apache配置»包含编辑器»post_virtualhost_global.conf,确保之后重新启动apache
    【解决方案2】:
    RewriteEngine on
    
    
    RewriteCond %{DOCUMENT_ROOT}/subfolder/$1 -f
    RewriteRule ^([^/]+)/?$ /subfolder/$1 [L]
    

    如果请求的文件存在于 /subfolder 中,这将在内部将 /file/ 映射到 /subfolder/file

    【讨论】:

    • 问题是他只有来自子域时才需要这个
    • 似乎对我不起作用。这是否考虑到存在子域?
    猜你喜欢
    • 2016-02-06
    • 2016-03-09
    • 2023-03-10
    • 2015-11-16
    • 2011-04-01
    • 2012-11-18
    • 2014-06-24
    • 2011-11-08
    • 2017-01-23
    相关资源
    最近更新 更多