首页 > 解决方案 > 仅当 url 中没有其他参数时才使用 htaccess 路由

问题描述

我尝试从我的子域(通配符)的主文件夹路由到特定子域的内容文件夹。

所以我尝试

    RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.tld$
    RewriteRule ^$ %1/ [L,NC]

如果我用http://example.domain.tld测试它

它将路由到“示例”文件夹。

但我无法访问文件夹内的文件。因此我必须手动将 url 更改为 example.domain.tld/example/antotherfile.html

此外,如果我使用http://example.domain.tld/anotherfile.html进行测试,它完全失败了。

我做错了什么?

使用此代码的另一次尝试完全失败

RewriteCond %{HTTP_HOST} ^([^.]*)\.domain\.tld$
RewriteRule (.*) %1/$1 [L]

经过两天的奔波,我离目标不近了:-(

标签: php.htaccess

解决方案


试试这个规则:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.tld$ [NC]
RewriteRule .* %1/$0 [L]

推荐阅读