htaccess,将虚拟子域重定向到 URL 参数

发布于 2024-09-30 15:23:21 字数 919 浏览 7 评论 0原文

我有一个 .ne.ro 域名(在罗马尼亚注册),访问者可以在其中输入或不输入“www”:

http://mydomain.ne.ro
http://www.mydomain.ne.ro

我想将 http://123.mydomain.ne.ro 重定向到 http://mydomain。 ne.ro?id=123。如果访问者输入“www|mail|ftp”,则必须将其视为非参数(显然)。

我尝试了 使用最后一个 url 参数进行 htaccess 子域重定向 但没有成功。

当前代码:

# edited on 05/April/2011 as suggested:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [R,L]


Hosted on a hostgator's business plan (linux) and registered at nic.ro, just if asking.

I have a .ne.ro domain (registered in Romania) where visitors can enter with or without 'www':

http://mydomain.ne.ro
http://www.mydomain.ne.ro

I want to redirect http://123.mydomain.ne.ro to http://mydomain.ne.ro?id=123. If visitor enter with 'www|mail|ftp' must be treated as non parameter (obviously).

I tried htaccess subdomain redirct with last url parameter but didn't work.

Current code:

# edited on 05/April/2011 as suggested:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [R,L]


Hosted on a hostgator's business plan (linux) and registered at nic.ro, just if asking.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绅刃 2024-10-07 15:23:21

经过许多建议的代码(感谢 supersuphot)和大量研究,我终于找到了答案。

首先,我在 mydomain.ne.ro 下添加了子域 *,指向域文件夹/路径:

创建子域 *, hostgator 共享帐户

然后我使用下一个代码上传了 .htaccess 文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain.ne.ro
RewriteCond %{HTTP_HOST} ^(.+).mydomain.ne.ro
RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]

这也有效:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [P,L]

最重要的是 P 在最后一行改为 R,以保留原始子域。检查这个答案< /a>相关问题

After many suggested code (thanks supersuphot) and a lot of research finally I found an answer.

First I added the subdomain * under mydomain.ne.ro, pointed to domain folder/path:

Create subdomain *, hostgator shared account

Then I uploaded .htaccess file with the next code:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain.ne.ro
RewriteCond %{HTTP_HOST} ^(.+).mydomain.ne.ro
RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]

this works too:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [P,L]

The most important thing is the P instead R at last line, to keep original subdomain. Check this answer to a related question.

烟沫凡尘 2024-10-07 15:23:21
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ http://mydomain.ne.ro?id=%1 [R,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ http://mydomain.ne.ro?id=%1 [R,L]
冷情 2024-10-07 15:23:21

哇量子!

我两天来一直在搜索该代码,呃终于...

您的第一个代码对我来说非常完美

RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]

您也可以用这个进行更改(对于大写或小写字母)

RewriteRule ^(.*)$ http://mydomain.ne.ro/?id=%1 [P,L]

非常感谢 quantme

Wow quantme !

I'm searching that code since two days , eh finally ...

Your first code is perfect for me

RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]

Also You can change with this(for Uppercase or Lowercase letters )

RewriteRule ^(.*)$ http://mydomain.ne.ro/?id=%1 [P,L]

Many Thanks quantme

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文