mod_rewrite 目录路径到更深的目录

mod_rewrite 目录路径到更深的目录

我通常不使用 LAMP,并且对于如何在本地运行网站有些困惑。

该网站设置为通过本地主机使用:

1) http://localhost/mysite

但是,站点文件在服务器上的物理位置是这样的:

2) /var/www/mysite/trunk/site

我正在尝试找出一种方法,我可以输入 #1 但让 apache 实际上寻找 #2 中的文件,以便 Web 应用程序中的所有资产/页面链接都能正常工作。

mod_rewrite 是解决方案吗?

如果是这样,我对语法感到困惑。我有这个但它不起作用(我猜是因为它导致了无限循环)

RewriteRule ^mysite/ mysite/trunk/site 

我有预感我需要添加一些正则表达式?

更新:

根据 badman 的建议,我现在将其放在我的 htaccess 文件中:

Alias /mysite /mysite/trunk/site

我也尝试过这个:

Alias /mysite /var/www/mysite/trunk/site

我的服务器日志中最终出现了以下错误:

[alert] [client 127.0.0.1] /var/www/.htaccess: Alias not allowed here

所以,很明显我把这个放在了错误的位置。你可能认为这是我可以轻松在 Google 上找到的东西,但奇怪的是,我找不到一个示例来告诉我该行应该位于服务器上的哪个位置。

答案1

尝试将类似这样的内容放入您的 VirtualHost 配置或服务器配置中:

 Alias /mysite /var/www/mysite/trunk/site

将别名指向那里后,请务必为 /var/www/mysite/trunk/site 创建一个条目。有关 Apache 中别名的更多信息,请参阅这里

相关内容