2012-12-18 48 views
1

當查詢字符串中有s=stick_paths=stick_relative時,我想允許訪問我的網站,否則拒絕訪問。例如www.domain.com/?s=stick_path時允許訪問,但在www.domain.com/?s=ck_relative或www.domain.com/?s=action_path時拒絕訪問。當某些查詢字符串存在時允許訪問,否則拒絕

我曾嘗試過像www.domain.com/?s=stick_path這樣簡單的例子,但它似乎沒有工作。

RewriteCond %{QUERY_STRING} !^s=stick_path$ 
    RewriteRule ^.* - [F,L] 

我覺得一個可以欺騙的.htaccess規則,如果s參數出現兩次類似www.domain.com/?s=stick_path & S = action_path

UPDATE: RewriteEngine ON失蹤的.htaccess。

回答

2

你對我工作時,我嘗試去http://localhost/?s=stick_path的規則,但如果你希望能夠隨時隨地檢查查詢字符串,請嘗試:

RewriteCond %{QUERY_STRING} !(^|&)s=stick_path(&|$) 
RewriteCond %{QUERY_STRING} !(^|&)s=stick_relative(&|$) 
RewriteRule ^.* - [F,L] 

這工作如果任s=stick_paths=stick_relative在查詢字符串中的任何地方。

+0

我不想在字符串中找到任何地方。它應該完全匹配。 – newbie

+0

@newbie如果查詢字符串只能是's = stick_path',那麼你已經做了。 –

+0

這就是爲什麼我更新了我的問題。 – newbie

相關問題