Wordpress自定义URL重写htaccess中的条目

时间:2012-09-17 04:23:33

标签: wordpress .htaccess url-rewriting

简单的事情我正在尝试 - 只是升级了一个网站以使用wordpress,特别是有一个页面我不想301并希望保留其原始网址

原始网址是

/freerecords.htm

这是我添加到我的htaccess

的内容
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/freerecords.htm [NC]

RewriteRule . /index.php [L]
RewriteRule ^/freerecords.htm$ /index.php\?page_id=793 [L,NC]

问题是以上是行不通的 - 我觉得我很接近......

我不想使用php url重写函数内置的wordpress - 我只想在htaccess中执行此操作

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

而不是直接更改.htaccess使用管理面板中的永久链接设置进行网址重写

在执行固定链接更改之前,还要检查.htaccess文件的权限。

或者您也可以从管理员端提供的主题文件编辑器中更改wordpress .htaccess文件

http://davidwalsh.name/wordpress-htaccess

答案 1 :(得分:0)

如果你想要301重定向,你需要在wordpress相关规则之前发生这种情况:

RewriteRule ^freerecords.htm /index.php?page_id=793 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

这会使用301重定向重定向浏览器。与所有重定向一样,浏览器的网址地址栏现在会显示/index.php?page_id=793

如果您不想要301重定向,那么您的旧规则中会有一个主要的斜线,这可能会使其无法正常工作。你的最后一行在正则表达式中有一个前导斜杠,因此它永远不会匹配任何东西:

# was here---v
RewriteRule ^freerecords.htm$ /index.php\?page_id=793 [L,NC]