我需要在网址中使用动态子域名。 我的PHP应用程序将为用户打开帐户。
我的登录网址将是
http://example.dev/app/login
登录后,用户将转到以下部分
http://example.dev/app/section/account_name=ram
我当前的域名是example.dev
我的要求是在域名中加入帐户名称。我的网址应如下所示
http://ram.exmaple.dev/app/section
同样,如果我的帐户名称是sundar,则我的网址应该是这样的
http://sundar.example.dev/app/section
我知道这可以使用.HTACCESS。我试过了,但我无法正确使用
RewriteCond%{HTTP_HOST} ^([a-z - ] +)。example.dev $ [NC]
RewriteRule(。*)$ / app / section /?account_name =%1 [QSA]
以上是否正确?
重点: 在htaccess结束时,我必须调用一个控制器文件。
RewriteRule ^(。*)$ example_controller.php
答案 0 :(得分:1)
我知道你根本不想在example_controller.php中使用cahnge。
PHP访问原始URL: $ _ SERVER [“REDIRECT_URL”] 它将包含原始请求地址,而不是“最后但只有一个”请求地址。
我能想到的唯一解决方案是反向代理。您可以使用 .htaccess 创建代理请求(使用[P]指令)到您自己的主机到所需的URL。这样,PHP会将该网址视为 REDIRECT_URL ,因为这是请求的原始网址。
RewriteCond %{HTTP_HOST} ^([a-z-]+).example.dev$ [NC]
RewriteRule (.*)$ http://example.dev/app/section/?account_name=%1[PQSA]
RewriteRule ^(.*)$ example_controller.php
当然,您必须启用mod_proxy。我不确定P和QSA指令是如何工作的,试一试。