我到处寻找这个解决方案,但没有看到我能在我的服务器上重新配置的足够好的匹配。
我想将school.mysite.com/math/映射到mysite.com/index.php?inst=school&sub=math
我可以做到一半但不能同时做到。
IE我可以通过mysite.com/index.php?sub=math获取mysite.com/math/:
RewriteRule ^/?([a-zA-Z_]+)/?$ index.php?sub=$1 [L]
我可以将school.mysite.com发送到mysite.com/index.php?inst=school与
RewriteCond %{HTTP_HOST} ([a-zA-Z_]+).mysite.com/?
RewriteRule ^(.*)$ index.php?inst=%1
但我不能为我的生活让两人一起工作,我试过了
RewriteCond %{HTTP_HOST} ([a-zA-Z_]+).mysite.com/([a-zA-Z_]+)/?
RewriteRule ^(.*$) index.php?inst=$1&sub=$2 [L]
和一大堆其他变种,我得到404错误(比如上面的正则表达式获取)或者它只捕获第一个变量。
我错过了什么?
感谢
禅
答案 0 :(得分:1)
您可以使用此规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^([a-zA-Z_]+)\.mysite\.com$ [NC]
RewriteRule ^([a-zA-Z_]+)/?$ index.php?inst=%1&sub=$1 [L,QSA]