【发布时间】:2014-01-08 18:03:26
【问题描述】:
我在使用 Wordpress 或某些插件时遇到一些问题,偶尔会更新/覆盖我的 .htaccess 文件,这会在访问帖子时返回 404 错误页面。要解决这个问题,我需要再次保存永久链接。
我已经删除了我网站上的 url slug“类别”,所以它看起来像这样:
原创
www.mysite.com/category/post-title
更新了 hack
www.mysite.com/post-title
我安装了 +20 个插件,但我不确定是什么导致了这个问题。
是否可以拒绝 Wordpress 和插件写入 .htaccess 文件?
这是我在 functions.php 中禁用 URL slug 类别的技巧
/* Kill category base */
function kill_category_base ($string) {
$string = str_replace('category/', '', $string);
return $string;
}
add_filter('category_link', 'kill_category_base');
这是我的 .htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
# redirect everything else to wordpress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
# END WordPress
【问题讨论】:
-
wordpress 是否会删除您 htaccess 文件中的所有内容?
-
您可以将 .htaccess 上的文件权限更改为 0444。但您确实需要修剪您的插件。他们不应该在没有特别好的理由的情况下修改 .htaccess,如果您不确定哪个负责,那么我认为他们中的任何一个都没有这样做的充分理由。
-
另外,您的 htaccess 中的哪些规则被删除而您不想删除?
标签: php wordpress apache .htaccess mod-rewrite