在虚拟主机情况下将子域重写为子域/文件夹

发布于 2024-08-02 00:04:56 字数 522 浏览 7 评论 0原文

我正在尝试使用以下 .htaccess 将 abc.example.com/path 重写为 abc.example.com/index.php/abc/path

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(abc)\.example\.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/abc/$1 [L]

情况是:

domain    www.example.com
vhost     www
subdomain abc.example.com
vhost     abc

我不希望 index.php/abc/ 显示在 URL 中。

有人有一些建议吗?

I'm trying to rewrite abc.example.com/path to abc.example.com/index.php/abc/path using the following .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(abc)\.example\.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/abc/$1 [L]

The situation is:

domain    www.example.com
vhost     www
subdomain abc.example.com
vhost     abc

I don't want index.php/abc/ to be shown in the URL.

Does anybody have some suggestions?

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

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

发布评论

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

评论(2

指尖上得阳光 2024-08-09 00:04:56

使用以下代码,您在域后键入的所有内容都将附加到 /index.php/abc

abc.domain.com/URL      -> abc.domain.com/index.php/abc/URL
abc.domain.com/URL/     -> abc.domain.com/index.php/abc/URL/
abc.domain.com/URL/URL  -> abc.domain.com/index.php/abc/URL/URL
abc.domain.com/URL/URL/ -> abc.domain.com/index.php/abc/URL/URL/

重写代码:

RewriteCond %{HTTP_HOST} ^(abc).domain.com
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/%1$1 [NC,L]

With the following code everything you type after the domain will be appended to /index.php/abc

abc.domain.com/URL      -> abc.domain.com/index.php/abc/URL
abc.domain.com/URL/     -> abc.domain.com/index.php/abc/URL/
abc.domain.com/URL/URL  -> abc.domain.com/index.php/abc/URL/URL
abc.domain.com/URL/URL/ -> abc.domain.com/index.php/abc/URL/URL/

Rewrite code:

RewriteCond %{HTTP_HOST} ^(abc).domain.com
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/%1$1 [NC,L]
挽袖吟 2024-08-09 00:04:56

在您的 .htaccess 文件中尝试此规则:

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteRule ^index\.php$ index.php/%1%{REQUEST_URI} [L]

Try this rule in your .htaccess file:

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteRule ^index\.php$ index.php/%1%{REQUEST_URI} [L]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文