0

WordPress:3.5.1

如何修改我的 .htaccess 文件以在将 WordPress 放置在其自己的子目录中后将旧 URL 路径重写/重定向到新路径(使用https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory - 使用预先存在的子目录安装)?

问题 我在名为 http://{www.mywebsite.com URL}/wp 的文件夹中安装了旧版 Wordpress。我修改了网站并按照“移动”网站的说明操作,所以现在我的域只使用 http://{www.mywebsite.com URL}/ 文件。Wordpress 现在可以运行所有内容(不像我的旧网站,其中 WP 只是沼泽链接。)移动指令总体上运行良好。

但是,我希望我的旧链接(来自搜索引擎)例如 http://{www.mywebsite.com URL}/wp/archives/1534 重定向到 http://{www.mywebsite.com URL}/archives/ 1534. WordPress 使用的默认重写规则不会发生这种情况。在伪代码中:

除非来自我想从链接中“剥离” /wp 的链接,否则请使用一般重写规则。

我尝试了几种重写变体,引用了 Apache mod-rewrite 文档,但似乎都不起作用。我在下面的示例 .htaccess 文件中尝试的行以#Attempt {number} 开头--(我意识到这些已注释-在实际文件中它们未注释。)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

#Attempt 1-- 
RewriteRule  ^wp/(.*)$  /$1  [L,QSA]

# Default WP ruls
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]

#Attempt 2 --
RewriteCond %{REQUEST_FILENAME} wp
RewriteRule (^/wp)(.*) $2 [L]

</IfModule>

# END WordPress

有没有一种简单的方法可以实现这一目标?

4

1 回答 1

0

试试这个——它会做一个完整的 301 重定向(你想要的,因为这是对 URL 的永久更改):

RewriteRule ^wp/(.*)$ /$1 [R=301,L]

我还建议将它放在# BEGIN WordPress评论之前,因为我认为如果您更改某些设置,WordPress 会重写里面的内容。

于 2013-05-20T20:35:00.360 回答