使用.htaccess将所有文件/目录重定向到子目录但排除主页

时间:2017-02-18 11:38:56

标签: wordpress .htaccess redirect

我设置了我的网络服务器,创建了一个.htaccess文件和' www'的子目录。我放置了我的Wordpress安装。

运行安装后,所有内容似乎都会重定向,但主页除外,因为.htaccess文件中包含的重定向规则正在向URL添加/ www /,因此会抛出404错误。

猜测它可能很简单,但需要一些客观的帮助。

显然,我的实际域名已替代' domain.com'

# Turn off indexing of files and directories.
Options -Indexes

# Turn on rewrites.
RewriteEngine on

# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Only apply to URLs that aren't already in the subdirectory.
RewriteCond %{REQUEST_URI} !^/www/

# Rewrite all those to insert the subdirectory name.
RewriteRule ^(.*)$ /www/$1

# Redirect the root folder.
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ www/ [L,R=301]

1 个答案:

答案 0 :(得分:0)

原来这是一个简单的解决方法,正如我初步想象的那样。

通过使用[L,R=301]替换最后一组规则中的[L],可以防止主页通过添加子目录而返回自身。