我通常不使用 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 中别名的更多信息,请参阅这里