2015-03-02 88 views
1

我想重定向的.htaccess不重定向特定的詞

  • domain.com/blabla到domain.com/index.php?q=blabla
  • domain.com/blabla/2域。 ?COM/index.php的q =布拉布拉& p = 2

我用這個:

RewriteRule ^([a-zA-Z0-9\-]+)/([0-9]+)$ index.php?q=$1&p=$2 [L,NC] 
RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?q=$1 [L,NC] 

卜我需要不重定向一些WO RDS。例如:

重定向到domain.com/user是domain.com/index.php?q=user OK

但它重定向到domain.com/admin domain.com/admin/?q=admin

我不希望發生這種情況。順便說一句,有一個名爲「admin」的文件夾。我談論的「具體詞」是文件夾。但是請注意,這些話不應該是文件夾(如果有上htaccess的任何改變,我不知道)

回答

0

你可以擁有這些規則之前排除規則:

# ignore these URIs 
RewriteRule ^(admin|something)(/|$) - [L,NC] 

RewriteRule ^([a-zA-Z0-9-]+)/([0-9]+)$ index.php?q=$1&p=$2 [L,QSA] 
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?q=$1 [L,QSA] 
+0

1,何必當初你將它們改爲QSA?第二,我不知道發生了什麼,但它只適用於第二個字。這沒有意義。我在本地與wtw btw。 – Diga 2015-03-02 21:17:36

+0

'NC'不需要,因爲您的正則表達式中已經有'A-Za-z'。 'QSA'用於保存原始查詢字符串。哪個網址不起作用? – anubhava 2015-03-02 21:19:10

+0

(根據您的代碼)domain.com/admin仍然會重定向。 domain.com/something不是。我不知道它一定是關於服務器或瀏覽器緩存等。我會重新啓動後再試。 – Diga 2015-03-02 21:21:43