如何使用HTACCESS从子文件夹中加载网站?

时间:2014-12-18 14:49:30

标签: php apache .htaccess

我有一个WordPress网站,将取代现有的网站。现有网站位于根目录(/ public_html)中。目前,我不想删除此网站,而是希望将新网站存储在子文件夹(/ public_html / live)中。

我需要它,所以当有人访问域上的网站时(例如http://www.example.com),子文件夹中的网站将被加载,但用户不知道

我可以在public_html文件夹中使用HTACCESS吗?


谢谢你们。我使用了以下htaccess

RewriteEngine On
RewriteRule ^$ /live/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/live/
RewriteRule ^(.*)$ /live/$1

# Add trailing slash to directories within live
# This does not expose the internal URL.
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^live/(.*[^/])$ http://www.domain.com/$1/ [R=301]

这确实会重定向到子文件夹。问题是它是否重定向到所有网页的根域(http://www.domain.com)(例如http://www.domain.com/newshttp://www.domain.com/events/test-event

导致此重定向问题的原因是什么?

干杯

1 个答案:

答案 0 :(得分:0)

这是你能做的。

你可以安装一个插件,如:https://wordpress.org/plugins/velvet-blues-update-urls/ 将所有旧网址替换为新网址,这比在.htaccess上执行mod_rewrite更好。你可以使用大量的其他插件;使用最适合你的那个。

您想要重新命名网址。 mod_rewrite正在重写到新的url。它会完成这项工作,但这种方式更好。从某种意义上说,在您的新wordpress实例上,您希望能够跟踪网址并按照新网址的顺序保持流量趋势。

制作旧wordpress的副本,将新实例放在新目录中,更改网址,然后测试您的网址,然后将域指向包含新网址的更新后的wordpress。

如果你需要特定网址处理,你应该在.htaccess上使用mod_rewrite规则,我不会将整个网站转发到新域名。你应该在物理上改变网址。