为WordPress创建固定链接并去除固定链接中的index.php并指定文件和目录不被重写

        利用Windows搭建WordPress网站的朋友应该会发现这样一个问题:在默认情况下,WordPress会将你的固定链接结构设置为类似http://www.tonitech.com/?p=1856的结构,这个结构无法受到搜索引擎的欢迎,很多博主为了给自己的博客带来更多的流量都会对此稍做加工。想要修改固定链接结构也非常简单,可以从您的管理面板 (设置 → 固定链接)来完成。

20130305015530

        在固定链接设置的页面中,如果使用的是非默认固定链接,会被强制加上一个index.php。为了网站的美观和SEO优化的效果,建议大家移除index.php,本文提供的方法是需要你的空间支持mod_rewrite的,方法如下:

如果你是Windows服务器+IIS的,你新建一个httpd.ini或者在原有的httpd.ini中加入:

[ISAPI_Rewrite]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

保存后,上传至WordPress程序所在的根目录,如果不行,也许你的空间服务商需要手动加载httpd.ini将它转换成.htaccess格式的文件,请及时联系你的空间服务商。

或者,你创建一个.htaccess文件,加入以下代码:

RewriteEngine On
RewriteCompatibility2 On
RepeatLimit 32
RewriteBase 
#  3600 = 1 hour
# unsupported directive: CacheClockRate 3600
#  Protect httpd.ini and httpd.parse.errors files
#  from accessing through HTTP
#  Rules to ensure that normal content gets through
RewriteRule ^/sitemap.xml$ /sitemap.xml [L]
RewriteRule ^/favicon.ico$ /favicon.ico [L]
#  For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule ^/wp-(.*)$ /wp-$1 [L]
#  For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule ^/(.*)$ /index.php/$1 [L]

接下来你就可以去设置你的固定链接了,设置→固定链接,选中“自定义结构”,我在输入框中输入的是:/%post_id%.html,这样原来http://www.tonitech.com/?p=1856的地址就会变成http://www.tonitech.com/1856.html,你也可以根据你的喜好自定义。

如果你使用了本文的.htaccess配置设置了固定链接,可能会遇到你的网站根目录下的图片或者目录无法访问的问题,那么你可以根据你的情况。例如一个叫做sitemap.html的文件被重写了找不到了,你就得在.htaccess中加一句:

RewriteRule ^/sitemap.html$ /sitemap.html [L]

如果你有一个叫做so的目录被重写了找不到了,你就得在.htaccess中加一句:

RewriteRule ^/so(.*)$ /so$1 [L]

这样可以保证so目录下所有的文件都不会被重写。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/1856.html

发表评论