我正在尝试做的简单事情 - 刚刚升级了一个网站以使用wordpress,特别是有一个页面我不想301并希望保留其原始网址
原始网址是
/免费记录.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]
问题是上述不起作用 - 我想我已经很接近了......
我不想使用内置的WordPress URL 重写函数 - 我只想在htaccess中执行此操作
任何帮助都非常感谢
而不是直接从.htaccess更改,而是使用管理面板中永久链接的设置来执行URL重写
并在进行永久链接更改之前检查对 .htaccess 文件的权限。
或者您也可以从管理员端提供的主题文件编辑器更改wordpress .htaccess文件
http://davidwalsh.name/wordpress-htaccess
如果你想要一个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 重定向重定向浏览器。与所有重定向一样,浏览器的 URL 地址栏现在将显示 /index.php?page_id=793
。
如果您不想要 301 重定向,您的旧规则中有一个前导斜杠,这可能使其不起作用。您的最后一行在正则表达式中有一个前导斜杠,使其永远不会匹配任何内容:
# was here---v
RewriteRule ^freerecords.htm$ /index.php?page_id=793 [L,NC]