我有一个.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”,则必须将其视为非参数(显然)。
我尝试了htaccess subdomain redirct with last url parameter,但没有效果。
当前代码:
# 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]
<小时/> 托管在hostgator's business plan(linux)上并在nic.ro注册,就在询问时。
答案 0 :(得分:4)
经过许多建议的代码(感谢supersuphot)和大量的研究后,我找到了答案。
首先,我在 mydomain.ne.ro 下添加了子域 * ,指向域文件夹/路径:
然后我用下一个代码上传了.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 ,以保留原始子域名。检查this answer到related question。
答案 1 :(得分:1)
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ http://mydomain.ne.ro?id=%1 [R,L]
答案 2 :(得分:1)
哇量子!
我正在搜索那段代码两天,呃最后......
您的第一个代码非常适合我
RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]
您也可以使用此更改(对于大写或小写字母)
RewriteRule ^(.*)$ http://mydomain.ne.ro/?id=%1 [P,L]
非常感谢quantme