我需要创建一个重写规则/条件,它总是将http_host重写为查询字符串。
我有多个域,所有域都指向同一个DocumentRoot。 我现在要做的是,将被调用的域名(例如)example1.org添加到查询字符串以供应用程序内部使用。假设该应用程序位于baseapplication.org
开场
example.org
在我的浏览器中运行到文档根目录,htaccess应该在内部重写它:
baseapplication.org?requested_domain=example1.org
我无法找到重写规则或条件的组合来使其运行。
答案 0 :(得分:1)
我不是.HTACCESS专业版,但这应该可以解决问题。
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
在您的根目录中,在名为.HTACCESS的文件中以及index.php文件中使用该文件。 然后在索引文件中,您可以访问所有请求变量。
从这里你可以做php headers redirect,或者包含来自另一个目录的文件。 由你决定。
不是解决方案,但应该有所帮助
答案 1 :(得分:0)
来自Apache文档:
假设您想通过DNS A记录向同一台机器提供用户名主页的www.username.host.domain.com,并且该机器上没有任何虚拟主机。
对于HTTP / 1.0请求没有解决方案,但对于包含Host:HTTP头的HTTP / 1.1请求,我们可以使用以下规则集在内部将http://www.username.host.com/anypath重写为/ home / username / anypath:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2
Apache Rewrite Guide还有一些其他HTTP重写。