【问题标题】:How can I change a localhost URL with mod_rewrite or mod_proxy?如何使用 mod_rewrite 或 mod_proxy 更改 localhost URL?
【发布时间】:2014-11-20 21:57:58
【问题描述】:

我已经运行了 MAMP (Apache:80 MySQL:3306),并且我的本地主机有许多包含项目的文件夹:

127.0.0.1/
127.0.0.1/test1/
127.0.0.1/test2/

我的 hosts 文件设置正确,所以 jlc.dev/test1 和 jlc.dev/test2 工作正常。

我遇到问题的地方是我希望使用 URL test1.dev 在 /test1 运行应用程序,并使用 URL test2.dev 在 /test2 运行应用程序。 (我不确定正确的术语是什么,但我希望我已经明白了。)根据this post 中的一个回复,听起来可以实现在 .htaccess 文件中使用 mod_proxy 或 mod_rewrite。

我假设我做的是在我的 hosts 文件中将 test1.dev 直接指向 127.0.0.1,并有一个 .htaccess 文件查看引用域并适当地重写到 /test1。

帮助不大?谢谢!

【问题讨论】:

    标签: apache .htaccess mod-rewrite mamp mod-proxy


    【解决方案1】:

    您需要将 test1.devtest2.dev 都定向到 127.0.0.1。然后将这个添加到文档根目录下的 htaccess 文件中:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^([^.]+)\.dev$ [NC]
    RewriteCond $1::%1 !^([^/]*)/.*::\1
    RewriteRule ^(.*)$ /%1/$1 [L]
    

    【讨论】:

    • 嗯,这似乎在 (localhost) 127.0.0.1 的所有内容上返回 500 错误。
    • 感谢@JonLin,这太完美了。我在玩那个开括号,但找不到合适的地方来关闭它。哈哈。非常感谢。
    猜你喜欢
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多