如何解决子文件夹的mod_rewrite表达式?
| 我已打开通配符子域,并且此重写在我的根目录中以捕获子域和文件夹:RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\\.)?([^.]+)\\.mysite\\.com$ [NC]
RewriteRule ^(.*)$ process.PHP?id=%2
RewriteRule ^([^/.]+)/?$ process.PHP?id=%2/$1 [L]
如果没有请求的子文件夹,则倒数第二行只是将我们带到process.PHP?id = subdomain。如果确实存在请求的子文件夹(如subdomain.mysite.com/subfolder/),则最后一行应该带我们去process.PHP?id = subdomain / subfolder /。
所有这些都可以单独工作,但在一起却不起作用。我只希望它在没有指定子文件夹的情况下使用第一个,或者在没有子文件夹的情况下使用。我怀疑它们需要与正则表达式结合使用,但是我对如何表达这一点感到困惑。
解决方法
交换最后两行的顺序。第二到最后一行可能会变得贪婪并匹配两种情况...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。