wordpress apache永久链接不起作用(404错误)

Ser*_*nov 9 php apache wordpress .htaccess

我安装在我的apache2服务器wordpress网站上,但所有固定链接都不起作用(404找不到)我的.htaccess是由wp生成的

# 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
Run Code Online (Sandbox Code Playgroud)

我对此网站的conf文件:

<Directory /home/sergey/siteName>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

任何 这些 答案 不能帮助我

谢谢.

UPD:

感谢Justin Iurman的评论.在我的conf中设置AllowOverride All解决问题:)

Nmk*_*Nmk 15

如何使用Apache2在Ubuntu 10.10中使用WordPress永久链接/漂亮链接:

顺便说一句,这在Ubuntu 10.04中应该是相同的,但我还没有在那里测试过它.

  1. 手动创建".htaccess"文件并将其保存在主WordPress目录中.(这是wp-admin,wp-includes和wp-content文件夹的那个.)

  2. 转到Ubuntu终端并键入:

sudo chown -v:www-data"/enterYourFilePathHere/.htaccess"

您应该看到一行打印,表明(组)文件所有权已更改为www-data(Apache2).

  1. 授予Apache2对该文件的写访问权限:

sudo chmod -v 664"/enterYourFilePathHere/.htaccess"

您应该看到一行打印,表明文件的模式已被保留.

  1. 接下来,我们必须允许WordPress通过在Apache2服务器中启用mod_write来写入.htaccess文件.在终端中键入以下内容:

sudo a2enmod重写

您应该看到一行打印,说明它正在启用mod重写并提醒您重新启动Web服务器

  1. 所以,让我们这样做.重新启动Web服务器Apache2,通过键入以下命令使更改生效:

sudo /etc/init.d/apache2 restart

我们都完成了命令行提示; 您现在可以关闭命令行窗口.

  1. 进入你的WordPress管理面板(即http:// yourDomain/wp-admin).转到设置 - >永久链接,然后选择您选择的永久链接格式.点击"保存更改"按钮.

  2. DONE!转到您的站点并检查任何页面(除了您的主页)以确定一切都按预期工作.

希望这有助于某人.


nan*_*dan 13

按照 nmk 编写的步骤操作后,

须藤vim /etc/apache2/apache2.conf

找到条目
<Directory /var/www/html>
并更改
AllowOverride None

AllowOverride All

然后保存文件(:wq)并在命令提示符下重新启动 apache2 服务

须藤 /etc/init.d/apache2 重启


Vin*_*ran 8

  1. 打开 /etc/apache2/apache2.conf 文件。
  2. 将 AllowOverride 从值“none”更改为“All”,如下所示
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  </Directory>
Run Code Online (Sandbox Code Playgroud)

3.激活mod_rewrite

sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)

4.重新启动apache服务器以使此更改生效。

sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)