0

我正在尝试做的简单的事情 - 只是升级了一个网站以使用 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 中执行此操作

任何帮助是极大的赞赏

4

2 回答 2

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 重定向重定向浏览器。像所有重定向一样,浏览器的 URL 地址栏现在会显示/index.php?page_id=793.

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

# was here---v
RewriteRule ^freerecords.htm$ /index.php\?page_id=793 [L,NC]
于 2012-09-17T15:54:02.713 回答
0

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

在进行永久链接更改之前,还要检查 .htaccess 文件的权限。

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

http://davidwalsh.name/wordpress-htaccess

于 2012-09-17T06:15:19.257 回答