我在使用wp建博客,已经通过钩子将前端用户归档的路径从默认的 www.***.com/author/abc 格式改成 www.***.com/u/abc 格式,此时访问新路径会出现404错误,需要做301重定向。我使用的Apache服务器,但怎么写规则都不行,请问哪位大神可以帮忙写一下重定向规则啊?不胜感激

解决方案 »

  1.   

    你现在的rewrite是怎样写的呢?
      

  2.   

    wordpress后台默认地址是wp-admin,稍微有点经验的人都知道,如果不修改后台地址安全性就不是很好,wordpress虽然开源,但是它也出bug啊,万一哪天出了一个bug,那就不好说了。所以修改后台地址就很有必要了。
    1.首先给wp-admin目录改名,比如我改成shunix,然后在.htaccess里加上如下内容:
    RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} wp-admin/ RewriteCond %{QUERY_STRING} !
    这里来个复杂字符串(数字英文横杠下划线组成)
    RewriteRule .*\.php [F,L] RewriteCond %{QUERY_STRING} !
    与上面的那个密码相同
    RewriteRule ^shunix/(.*) wp-admin/$1?%{QUERY_STRING}&
    与上面的那个密码相同
    这个.htaccess实现了URL的重写,禁止访问wp-admin下的所有.php文件,访问/shunix 的话会直接替换成/wp-admin下的对应文件。也就是说访问/shunix与访问wp-admin的结果是一样的,但是访问wp-admin则行不通。
    更名完成,但是会有一些问题需要修改部分文件。因为wp-admin被禁止访问,而部分功能还直接调用wp-admin的.php文件。这导致上传功能将不能使用;自动保存,自定义字段都无法使用。
    2.下面要做的就是修改几个重要文件,重新恢复这些功能:查找
    wp-admin/includes/media.php
    wp-includes/script-loader.php
    wp-includes/link-template.php
    三个文件中所有的wp-admin,换成shunix
    这样edit链接与comments编辑链接将继续有效。
    如果使用了wp-cache等缓存插件,一定要将你的新目录名添加到缓存过滤规则里,不然后台有的地方生成静态会很麻烦的。
    网上找的,希望对你有帮助。