【问题标题】:How to load a website from within a subfolder using HTACCESS? [duplicate]如何使用 HTACCESS 从子文件夹中加载网站? [复制]
【发布时间】:2014-12-18 14:49:29
【问题描述】:

我有一个 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

是什么导致了这个重定向问题??

干杯

【问题讨论】:

  • 试过 mod_rewrite 并将规则设置为RewriteRule . /live/?
  • 谢谢大家。刚刚用一些细节更新了问题

标签: php apache .htaccess


【解决方案1】:

这是你可以做的。

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

您想物理地重命名网址。 mod_rewrite 正在重写到新的 url。它会完成这项工作,但这样会更好。从某种意义上说,在您的新 wordpress 实例上,您希望能够跟踪 url 并使用新 url 保持流量趋势。

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

如果您需要特定的 url 处理,您应该在 .htaccess 上使用 mod_rewrite 规则,我不会将整个站点转发到新域。您应该实际更改网址。

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多