如何将所有请求重定向到子文件夹,以保持所请求的页面slug完好无损?

时间:2014-03-28 11:58:54

标签: php wordpress .htaccess mod-rewrite redirect

我需要重定向所有页面请求。

比如说

domain.com/contact 

domain.com/subfolder/contact

我已经检查了很多问题,但我在其他WP设置中的htaccess文件中设置了一些重定向设置,有人可以解释一下我这样做的最佳方法并保留我的重定向吗?

htaccess的:

RewriteEngine On
RewriteRule ^$ /sandyford/ [R=301,NC,L]

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine On
RewriteBase /

RewriteRule ^$ /sandyford/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^((?!(?:santry|sandyford)).+?)/?$ /sandyford/$1 [R=301,L]

RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([\w-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([\w-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([\w-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]