apache2 虚拟主机 .htaccess 文件似乎不起作用

apache2 虚拟主机 .htaccess 文件似乎不起作用

我无法使我的 .htaccess 文件正常工作。

在我的apache2.conf文件中,有以下内容。

<Directory /home/felix/mysite>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

但这并没有改变任何事情。当我尝试访问我网站上的不同页面时,我仍然会收到 404 错误。

编辑更多信息:

Ubuntu 16.04

Apache 2.4

在我的网站中,sites-available我的mysite.se.conf文件如下所示:

<VirtualHost *:80>    
    ServerAdmin webmaster@localhost
    DocumentRoot /home/felix/mysite
    ServerName mysite.se
    ServerAlias www.mysite.se

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

我尝试从 apache2.conf 中删除此部分:

<Directory /home/felix/mysite>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

现在收到了此消息You don't have permission to access / on this server. Server unable to read htaccess file, denying access to be safe

即使我把那部分加回来了,现在我还是会收到此消息。

我尝试运行的网站是用 wordpress 构建的。在这个网站的根文件夹中,我有一个 .htaccess 文件,如下所示:

# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
# End Error

# BEGIN WordPress
<IfModule mod_rewrite.c>
ReewriteEngine On
eRewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

问题是这些设置在另一台 Ubuntu 机器上有效。而服务器管理员无法在我的机器上找到错误。所以他说这可能是 apache2 配置中的一些错误。但我找不到它,一切似乎都正常。

我认为这可能是错误的原因:https://www.digitalocean.com/community/questions/wordpress-permalinks-not-working-on-ubuntu-14-04

具体来说:Also make sure your .htaccess file has the proper permissions for WP to write to it. You'll see an error if it doesn't.

我怎样才能将其更改为正确的权限?

解决方案:

很抱歉,我无法提供更好的解决方案。但我所做的就是sudo a2enmod rewritesudo service apache2 restart第一次这样做时,我遇到了错误(500 服务器错误或 403 权限错误,记不清了),但今天早上再次尝试后,成功了。所以我的文件仍然像上面那样。

答案1

尝试编辑mysite.se.conf

<VirtualHost *:80>    
    ServerAdmin webmaster@localhost
    DocumentRoot /home/felix/job/fello
    ServerName test.fello.se
    ServerAlias www.test.fello.se
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory "/home/felix/job/fello">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

并检查您网站的路径/home/felix/mysite/home/felix/job/fello

相关内容