我正在尝试通过WordPress创建非常永久链接,并且我一直收到404错误。我已经浏览了互联网,我找不到任何解决方案。我之前从来没有遇到过这样的问题,所以我完全难过了。
主机位于Network Solutions下。我打电话给他们,他们给我发了这个链接:http://www.networksolutions.com/support/PHP-ini-for-UNIX-Shared-Hosting-FAQ
我尝试过的: 1.将php.ini文件添加到我的root。 2.将php.ini文件添加到cgi-bin文件夹 3.将重写命令添加到我的.htaccess文件(位于我网站的根目录中)。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /stage/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /stage/index.php [L]
</IfModule>
# END WordPress
在每次这些之后,我重新保存了永久链接设置以刷新更改。
我仍然遇到404错误。
答案 0 :(得分:13)
我在作为登台服务器运行的Ubuntu 14.04服务器上遇到了同样的问题。 在这种情况下,默认情况下未启用重写模块;所以分页和“非丑陋”的永久链接都不起作用(因为他们依赖.htaccess重写规则来工作)。
您必须编辑Apache conf文件(在Ubuntu 14.04中:/etc/apache2/apache2.conf)并将AllowOverride设置从None更改为FileInfo
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride FileInfo
Require all granted
</Directory>
您可能需要启用重写模块:
sudo a2enmod rewrite
要完成,您需要重新启动
sudo service apache2 restart
现在,这已经困扰了我一个月左右,所以对解决方案的赞誉如下: https://askubuntu.com/questions/48362/how-to-enable-mod-rewrite-in-apache
答案 1 :(得分:5)
使用FTP登录您的服务器,并修改.htaccess文件,该文件位于/ wp-content /和/ wp-includes /所在文件夹所在的同一位置。您可以做的最简单的事情是通过将权限更改为666来临时使文件可写。然后重复原始解决方案。不要忘记将权限更改回660.您也可以在.htaccess文件中手动添加此代码:
# 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
另一种解决方案:将index.php放在自定义永久链接结构的开头,例如:
/index.php/%year%/%monthnum%/%day%/%postname%/