我想在一个.htaccess文件中得到3个mod_rewrites一起工作。多个mod_rewrite冲突
我想以下几点:
school.mysite.com => mysite.com/index.php?inst=school
mysite.com/french => mysite.com/subject.php?子=法国
school.mysite.com/french => mysite.com/subject.php?inst=school &子=法语
我以前曾得到了前两个工作,但不能为生命我得到第三个工作。 一个星期,我屈服了,并要求帮助这里后,幸运的是我anubhava给我的解决方案真的很快有:
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]
对自己作品的代码完美,但我想上一棒的月亮还希望其他2仍然沿着它工作...而他们不。
从那以后,我一直对他们马不停蹄地又可以得到受一个用下面的代码
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/([a-zA-Z_]+)/?$
RewriteRule ^(.*)$ subject.php?sub=%1 [L]
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]
与它一起工作,但我不能让子域沿侧的工作吧,我尝试是...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^([a-zA-Z_]+)\.mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} ^$
RewriteRule ^(.*)$ index.php?institute=%1 [L]
我想通过检查URI是否为空可能会触发它。 而不是在我的头靠在墙上再打一个星期,我想我会问在第一天结束:) 如果它有任何区别,他们在.htaccess文件中的子域检查顺序,主题检查,然后合并检查。
我假设我的逻辑有问题,请帮忙。
问候
禅
如果你最终得到一个空白的'inst'参数,这有什么关系吗?即'inst =&school = french'会好吗? – arco444 2014-11-04 16:28:20
嗨arco444,不应该不重要,一些逻辑可以很容易地应用到页面来检查那个 – Zenonline 2014-11-04 19:02:07