6

这个问题可能已经被问了一千多次了,但是我已经尝试了这么多脚本,并且在谷歌上搜索了很长时间,但什么也没找到,我想,让我们问问吧。

我只想在用户看到 URL 更改的情况下m.daltonempire.nl被重定向到。daltonempire.nl/m/

所以如果m.daltonempire.nl/hello.php被请求,我希望用户继续看到这个 URL,而给出的页面实际上是daltonempire.nl/m/hello.php.

注意:我不想要www.,所以简单http://m.daltonempire.nl

提前致谢,

以赛亚诉胡南

4

3 回答 3

5

将此添加到您.htaccess的 Web 根/目录中

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^m\.daltonempire\.nl$ [NC]
RewriteCond %{REQUEST_URI} !^/m(/|$) [NC]
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^(.*)$ m/$1 [L]

这些%{REQUEST_FILENAME}条件将允许您访问/exists.php而不是将其重写为/m/exists.php. 如果您想重写,请删除这两个,即使这可能会覆盖现有文件和目录。

于 2013-10-29T16:27:18.417 回答
4

试试这个例子:

RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule (.+)$ "http://example.com/%1" [L,P]

任何请求http://test.example.com都将映射到http://example.com/test/...

尝试谷歌搜索dynamic subdomain with php and htaccess以获得更好的搜索结果。

于 2013-10-29T16:27:10.990 回答
2

我在下面设置了我的子域的 CNAME:

blog.mydomain.com

到我安装在/blog/根目录下的文件夹中的wordpress。

以前我需要使用这个 url 来调用 wordpress:

http://blog.mydomain.com/blog/

这是丑陋的。我尝试了很多代码来重定向:

http://blog.mydomain.com/

到文件夹,这样我就可以将它用作我的 wordpress url。

最后我得到了.htaccess有效的设置:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com$
    RewriteCond %{REQUEST_URI} !^/blog/
    RewriteRule (.*) /blog/$1

我还有 CNAME other subdomain: http://forum.mydomain.comto mybb 安装在文件夹中/forum/mybb/,因此.htaccess需要将[L]每个 RewriteRule 代码放在下面。

    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^forum\.tophyips\.info$
    RewriteCond %{REQUEST_URI} !^/forum/mybb/
    RewriteRule (.*) /forum/mybb/$1 [L]

    RewriteCond %{HTTP_HOST} ^blog\.tophyips\.info$
    RewriteCond %{REQUEST_URI} !^/blog/
    RewriteRule (.*) /blog/$1 [L]

如果您想使用代码,请不要忘记在应用程序配置文件中设置站点 url 和 cookie 路径,以使重定向正常工作。

于 2015-03-31T08:11:54.303 回答