子目录 apache2 中的 wordpress 没有浏览索引和 .htaccess

子目录 apache2 中的 wordpress 没有浏览索引和 .htaccess

抱歉,如果这个问题之前已经问过,但我浏览了其他帖子,找不到答案。

Wordpress 在 /var/www/wordpress/ 中启动并运行,但是当我浏览 www.mysite.com 时,我得到了如下文件和文件夹列表:

指数 /

Name    Last modified   Size    Description
index.html  12-Mar-2013 18:31   177  
wordpress/  08-Jan-2012 17:01    -   

Apache/2.2.22 (Ubuntu) 服务器位于 www.mysite.com 端口 80

如果我点击 wordpress 目录,我就会被带到我的网站。

我问了一个朋友,他说修改.htaccess,但是/var/www/中没有这个名字的文件

如何让 apache 将我的默认主页/目录设置为 /var/www/wordpress/(index.php)?

我尝试取消注释 ServerRoot“/var/www/wordpress”

但这导致尝试重新启动 apache 时出现错误:-找不到 ports.conf -找不到 conf.d 事情从那时起就开始走下坡路了……

我是否修改 sites-available/default?

我是否要修改 apache.conf?

我要添加 .htaccess 文件吗?

此外,由于这是一个新设置,我该如何保护安装?据我所知,很多人使用特制的 .htaccess 文件。

感谢您的帮助!

sites-available/wordpress 的内容:

<VirtualHost *:80>
    ServerAdmin [email protected]

    DocumentRoot /var/www/wordpress/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/wordpress/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sites-available/default 的内容:

<VirtualHost *:80>
    ServerAdmin [email protected]

    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

sites-enabled 的内容:

[email protected]:/etc/apache2/sites-enabled# ll
drwxr-xr-x 2 root root 4096 Mar 20 19:58 ./
drwxr-xr-x 7 root root 4096 Mar 20 19:29 ../
lrwxrwxrwx 1 root root   26 Mar 12 18:31 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root   28 Mar 20 19:58 wordpress -> ../sites-available/wordpress

答案1

您需要将ServerName指令添加到 VirtualHosts,这样您的 Web 服务器才知道如何路由请求。此外,请确保在更改配置后重新启动 Web 服务器。

另请注意,根据您的情况,您可能还需要将该ServerAlias指令添加到一个或多个 VirtualHosts。

请参阅此处了解更多信息:

基于名称的虚拟主机支持

答案2

您是否只想托管一个网站(WordPress 网站)?您可以添加 .htaccess 文件进行重定向,或者可以使用 apache 中的虚拟主机设置将 yoursite/wordpress 指向为文档根目录。有很多方法可以做到这一点。我认为,当您安装 wordpres 时,它应该有一个 .htaccess 文件。如果您使用 .htaccess,则需要为 httpd.conf/apache.conf 中的 wordpress 部分添加允许覆盖指令。也许您可以将 wordpress 文件夹的内容转储到当前文档根目录中。要么 w

答案3

查看此链接http://wiki.cnic.edu.cu/index.php/Adicionar_sitio_web_al_apache

这是我在apache2“wordpress.conf”中的配置:


Alias / /var/www/wordpress


    Options FollowSymLinks
    #DirectoryIndex index.php
    Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all


相关内容