php - 仅当 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]
经过两天的奔波,我离目标不近了:-(
解决方案
试试这个规则:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.tld$ [NC]
RewriteRule .* %1/$0 [L]
推荐阅读
- node.js - Npm 脚本失败 - '.' 未被识别为内部或外部命令
- php - 在 php 中通过 openssl_encrypt 和 openssl_decrypt 使用 openssl 会出错
- javascript - 通过单击按钮打开模式并通过单击关闭按钮隐藏模式
- html - CSS 悬停过渡
- java - __builtin_clz 的 Java 等价物是什么?
- aws-cdk - aws cdk 使用非默认配置文件
- python - 什么是 django.db.utils.OperationalError: (2000, 'Unknown MySQL error')
- kubernetes - Kubernetes 并行计算
- javascript - Javascript:解析每个 CSV 列以分隔 JSON
- php - Array_intersect 和返回值的顺序