最近发现xml地图打开总是404页面,由于本站的站点地图是通过动态php生成,用.htaccess的url转发规则实现的伪静态xml地图。排查发现是.htacess文件中的url转发规则不知道啥时候没了 ,把url转发规则添加上,果然xml地图又能生成了。以为问题就这样解决了,郁闷的是第二天发现url转发规则又莫明其妙的不见了 :???:?
问题找到了那就好说,百度一番。百度说法如下:
如果更改了固定连接,wordpress会自动修改.htaccess文件中# BEGIN WordPress和# END WordPress的内容,但是我并没有修改过固定连接。
后来经过我自己测试,并非是因为修改固定连接,只要你点击了设置——固定连接,不管你有没有修改什么,也不管你又没有保存,只要点击了“固定连接”,.htaccess文件中# BEGIN WordPress和# END WordPress之间的内容就会被更改,自动还原。不知道这算不算是wordpress的一个bug。
测试了一下,果然是上面说的那样。解决办法如下:
办法一:
直接通过FTP工具把.htaccess文件权限修改成444
只读文件。通过FTP选中.htaccess文件-->右键-->属性-->权限填上“444”。
办法二:
把url规则不与wordpress默认的规则写在一起,另外起一个<IfModule mod_rewrite.c>......</IfModule>。
这个方法经测试也可行,不知道是否有误欢迎指正修改。
评论