在我的根域中我有一个 .htaccess将非 www 重定向到 www,并重定向到子目录(包含一个临时网站)。使用以下代码完成此操作:
Options +FollowSymLinks
RewriteEngine On
# non-www to www, exclude localhost
RewriteCond %{HTTP_HOST} \.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# temp redir to subdir-wordpress
RewriteRule ^$ /subdir [L]
在子目录中使用以下 .htaccess 运行 Wordpress 设置:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdir/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdir/index.php [L]
</IfModule>
# END WordPress
实际情况是,人们被重定向到http://domain.com/subdir
,而我希望他们最终到达http://www.domain.com/subdir
。我用 curl 测试并发现它按照以下步骤进行重定向:
- domain.com => www.domain.com
- www.domain.com => www.domain.com/subdir
- www.domain.com/subdir => domain.com/subdir
因此,根目录中的 .htaccess 似乎工作正常。但自动 Wordpress .htaccess 似乎毁了我的辛苦工作 :-)
有人知道我该如何修改 Wordpress .htaccess 以使其正常工作吗?
答案1
它不是 Wordpress .htaccess,而是 Wordpress 博客 url。
登录你的 Wordpress 管理员,然后转到“设置”->“常规”,并将你的 Wordpress URL 更改为 www.domain.com/subdir