【发布时间】:2010-03-01 11:00:32
【问题描述】:
我是 ubuntu 和 apache 的新手。谁能告诉我如何引导到
www.mysite.com/drupal6
当用户地址为 www.mysite.com 时?
非常感谢。
干杯。
【问题讨论】:
-
仅供参考,这与编程无关,更适合 serverfault.com。有人可以请迁移吗?
标签: apache drupal ubuntu virtual-directory
我是 ubuntu 和 apache 的新手。谁能告诉我如何引导到
www.mysite.com/drupal6
当用户地址为 www.mysite.com 时?
非常感谢。
干杯。
【问题讨论】:
标签: apache drupal ubuntu virtual-directory
如果您运行的是 Apache 和 Ubuntu,实际上有一种非常简单的方法可以使用简单的 php 脚本强制重定向。
在你的服务器根目录下创建一个index.php文件,并将以下代码粘贴进去
<?php header("location: drupal6/") ?>
这将导致网站在访问时自动重定向到 drupal6 文件夹。
【讨论】:
这应该可行。在服务器的根文件夹中创建一个名为 .htaccess 的文件 - 开头的点非常重要,因为这有助于服务器将文件识别为隐藏/系统配置文件。
打开文件并将以下代码行粘贴到:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ www.mysite.com/drupal6/$1 [R,L]
这应该会强制所有到服务器的流量重定向到您的自定义文件夹。
.htaccess 代码的简要说明
如果你想让重写工作,你必须启用重写引擎并告诉服务器遵循符号链接。
第二部分建立规则 - 专门将其应用于标准 Web 端口 80 上的所有流量。
最后一行告诉服务器抓取 URL 之后的所有内容并将其附加到新地址 (mysite.com/drupal6)。
您可以使用 .htaccess 文件做更多事情,但您确实需要在 Google 上找到好的示例进行测试。
【讨论】:
查看 Apache 的 mod_rewrite 文档。您的 apache 配置中至少需要一个 RewriteRule,您可能还需要 RewriteCond 来定义何时使用 RewriteRule。
您的重写模式将使用以下内容重写 REQUEST_URI:^/$ 到:/drupal6。 ^ 和 $ 是防止 Apache 在重写基本 URI 时陷入无限循环的必要条件,仅匹配“/”而不是“/anything-else”。
我假设您使用的是最新版本的 Ubuntu 和 Apache?如果是这样,请参阅Apache 2.2 documentation on mod_rewrite。
【讨论】: