Apache htaccess将phpbb重定向到子目录
我需要帮助重定向使用htaccess,因为我把我的phpbb论坛移到了一个名为“论坛”的子文件夹。所以我想要viewtopic.php?。。。要重定向到/forum/viewtopic.php?。。。 和viewforum.php?。。。到/forum/viewforum.php 我在谷歌上搜索了一整天,找不到一个确切的代码来使用,所以我试图摆弄代码,但没有用Apache htaccess将phpbb重定向到子目录,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我需要帮助重定向使用htaccess,因为我把我的phpbb论坛移到了一个名为“论坛”的子文件夹。所以我想要viewtopic.php?。。。要重定向到/forum/viewtopic.php?。。。 和viewforum.php?。。。到/forum/viewforum.php 我在谷歌上搜索了一整天,找不到一个确切的代码来使用,所以我试图摆弄代码,但没有用 RewriteCond %{REQUEST_URI} !forum/ RewriteRule ^([view(.+)\.php(.+)]
RewriteCond %{REQUEST_URI} !forum/
RewriteRule ^([view(.+)\.php(.+)])$ forum/$1 [QSA,NC,L,R=301]
我试图捕获“viewtopic”和“viewforum”,然后将其重定向到/forum/但它不起作用。这应该对您有用:
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule ^view(.+)\.php$ /forum/$0 [QSA,NC,L,R]
- 由于重定向的性质(需要捕获整个请求URI),因此无需对其进行包装-您只需使用us
$0
- 您在捕获时使用了方括号,这对您没有任何帮助。方括号表示一个数字
R
标志更改为R=301
(与以前一样),这将使重定向永久化
更新:您的整个.htaccess
文件现在应该如下所示:
Options All -Indexes
RewriteEngine On
RewriteRule ^$ - [E=noabort:1]
# Redirect Forum
RewriteCond %{REQUEST_URI} !^/forum/
RewriteRule ^view(.+)\.php$ /forum/$0 [QSA,NC,L,R]
# WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
重定向规则必须位于WordPress规则之前。尝试了此操作,但根本无法捕获。您的
.htaccess
文件中还有其他内容吗?您一开始是否打开了重写引擎?