htaccess 文件未将根级别请求重定向到子目录级别
htaccess file not redirecting root level request to sub-directory level
我的 wordpress 网站的域名 example.com
安装在 public_html
的根目录上,最近我将我的网站内容迁移到子目录 public_html/my_subdir
。从子目录加载内容 我修改了位于 public_html
根文件夹的 .htaccess
文件,以从我放置网站内容的子目录加载内容。
现在我的 .htaccess
文件在我点击 URL example.com
时工作正常,它从我的子目录 public_html/my_subdir
加载内容但是当我去example.com/wp-admin
或 example.com/contactus
或除根域以外的任何其他路径,然后它将从根目录本身而不是子目录 public_html/my_subdir
加载内容。
下面是我放在根级别的 .htaccess
文件,
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/my_subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir/index.php [L]
</IfModule>
这里有没有遗漏的地方,请大家帮我指出。
与per instruction一样,所有内容都应该移动到子目录中,只在根目录中留下.htaccess
。
既然你写了 it will load content from the root directory
,我猜根目录中还有一些文件。
如果出现请求的文件或目录,这两个条件将取消重写:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
因此,我建议从根目录中删除内容。
否则,我想可以在根目录中创建简单的 .htaccess
,它只会重定向到子目录,同时在子目录本身中添加标准 WordPress .htaccess
。
基本上,最终解决方案取决于您要实现的目标。
我的 wordpress 网站的域名 example.com
安装在 public_html
的根目录上,最近我将我的网站内容迁移到子目录 public_html/my_subdir
。从子目录加载内容 我修改了位于 public_html
根文件夹的 .htaccess
文件,以从我放置网站内容的子目录加载内容。
现在我的 .htaccess
文件在我点击 URL example.com
时工作正常,它从我的子目录 public_html/my_subdir
加载内容但是当我去example.com/wp-admin
或 example.com/contactus
或除根域以外的任何其他路径,然后它将从根目录本身而不是子目录 public_html/my_subdir
加载内容。
下面是我放在根级别的 .htaccess
文件,
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/my_subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir/index.php [L]
</IfModule>
这里有没有遗漏的地方,请大家帮我指出。
与per instruction一样,所有内容都应该移动到子目录中,只在根目录中留下.htaccess
。
既然你写了 it will load content from the root directory
,我猜根目录中还有一些文件。
如果出现请求的文件或目录,这两个条件将取消重写:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
因此,我建议从根目录中删除内容。
否则,我想可以在根目录中创建简单的 .htaccess
,它只会重定向到子目录,同时在子目录本身中添加标准 WordPress .htaccess
。
基本上,最终解决方案取决于您要实现的目标。