我想在一個.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