站点URL为http://inksquared.com
#1 楼
我猜您得到的是http://您的网站,但没有http://您的网站/任何东西我遇到了类似的问题,当我将
httpd.conf
从AllowOverride None
更改为
AllowOverride All
使
.htaccess
生效。评论
这个为我工作。大多数人都忘记了这一点。
– qasimzee
2014-12-10 18:20
这也对我有用,只需要在apache2.conf中更改服务器文件的位置(在本例中为/ var / www)
– sponrad
2015年11月17日下午6:04
这是我的答案的一部分。我已将AllowOverride All添加到站点配置中,但还添加了选项FollowSymLinks。然后,我可以使用自定义的永久链接,该链接还创建了一个适当的根.htaccess文件。之后,一切正常。
– boot13
16/09/12在23:46
并且不要忘记重新启动apache! “ sudo服务apache2重新启动”
–gradosevic
17年1月11日在7:51
有效。确保在conf文件中的位置更改AllowOverride选项。
– Najeeb
17年12月19日在13:54
#2 楼
尝试刷新您的mod_rewrite规则:仪表板->设置->永久链接
保存设置(无需进行任何更改)
评论
实际上,甚至不需要保存。仅通过访问该页面即可刷新规则,并且刷新规则的一部分涉及写入.htaccess。
– John P Bloch
2011年4月13日在18:49
我每天都学到新东西... :)
–芯片Bennett
2011年4月13日在18:51
@john您确定只是页面加载是否需要写入.htaccess?我的印象是仅刷新数据库中的rewrite_rules。
–嘘声
2011年4月13日在19:00
wp-admin / options-permalinks.php调用flush_rewrite_rules(),这是WP_Rewrite :: flush_rules()的包装,如果$ hard为true(在该页面上调用时,则为true),并且函数save_mod_rewrite_rules存在(在wp中定义) -admin / includes / misc.php,包含在所有管理页面中),它将调用save_mod_rewrite_rules()。在这里查看该函数的定义:core.trac.wordpress.org/browser/trunk/wp-admin/includes/…
– John P Bloch
2011年4月13日在20:32
实际上将重写规则写入.htaccess的函数称为insert_with_markers(在上面的save_mod_rewrite_rules()中使用),在此定义:core.trac.wordpress.org/browser/trunk/wp-admin/includes/…
– John P Bloch
2011年4月13日在20:33
#3 楼
我曾经遇到过同样的问题。我在Ubuntu服务器上做了以下操作来解决它:
在/etc/apache2/apache2.conf中,编辑/ var / www /的AllowOverride无到全部AllowOverride
键入以下命令以启用.htaccess的mod_rewrite
sudo a2enmod rewrite
重新启动您的apache服务器:
sudo服务apache2 restart
问题解决了!!!
评论
谢谢,我无法通过其他任何建议来解决此问题,但是a2enmod rewrite可以解决问题。
–马丁·麦卡利恩(Martin McCallion)
17年6月23日在18:17
+1提及重写mod。没有意识到默认情况下未启用此功能。
–本地编码器
17年12月13日在3:35
绝对需要sudo a2enmod重写才能获得此功能,谢谢!
–Huskie69
18-10-5在9:31
谢谢!命令a2enmod重写了我的窍门。
–卢卡斯·巴斯克罗托(Lucas Basquerotto)
18-10-17在15:46
谢谢阿维纳什!与Lucas一样,a2enmod重写对我也有帮助
– Jero Dungog
19年11月25日在21:52
#4 楼
原因很可能是没有复制.htaccess
文件。在Mac OS X和某些FTP应用程序中,此文件被视为“隐藏”,因为它以.
开头。如果转到管理部分的“设置”->“永久链接”部分,则可以重新生成该文件,但是最好找到以前使用的版本并再次使用(特别是如果使用缓存插件)。#5 楼
在Ubuntu 14.04中-000-default.conf文件可在此处找到/etc/apache2/sites-available
或者,如果您运行多个wp,则虚拟主机设置将是您的配置文件名。例如domain.conf
您必须将
AllowOverride None
替换为AllowOverride All
希望这行得通。
#6 楼
您是否获得了Web服务器404或WordPress 404?如果它是Web服务器404,则您很可能没有从旧安装中复制htaccess根文件,或者它没有正确的运行权限。我的第一个故障排除项目是检查并查看htaccess文件是否在根目录中。如果是这样,它包含的内容。
评论
检查了.htaccess文件。它包含与wordpress管理面板的永久链接部分中显示的代码相同的代码。我将权限更改为可写,看不到明显的变化。
– mikeyrocks
2011年4月13日19:17
@mikeyrocks嗯...另一种可能性是您的新服务器没有打开mod_rewrite。重要提示:您是否正在获取服务器404(显示“未找到”的纯白页)或WordPress 404(样式与您网站的其余部分相同)?
–MathSmath
2011年4月13日在20:11
评论
我今天有这个问题!迁移的WordPress网站–主页工作,所有其他页面/链接失败我遇到了同样的问题,然后通过根据此处的默认值更改.htaccess文件来解决此问题wordpress.org/support/article/htaccess