2013-07-14 71 views
0

我試圖做這樣RewriteEngine敘述和類別鏈接

business/index.html 
business/ 
business 

東西打開categories.php?prefix=$1

我已經習慣

RewriteRule ^([A-Za-z0-9-]+)/?(index.html)?$ categories.php?prefix=$1 [QSA,L] 

了偉大的工作,但是當打開/ ADMIN其一個真實的文件夾,它把它看作一個類別 我怎麼能排除這個

+1

你只需要這個'admin',還是所有現有的文件夾?如果是後者,則在「RewriteCond%{REQUEST_FILENAME}!-d」行前加上該規則。 – raina77ow

+0

@ raina77ow請給我代碼 –

+0

你是什麼意思?它是代碼。在'RewriteRule'的行之前用'RewriteCond'添加該行。 – raina77ow

回答

1

Thi s會查看路徑是否以adminimages開頭。如果有,規則將不適用。如果不是(即如果它與別的開始),該規則將適用:

# Only apply to files that exist (uncomment to use): 
#RewriteCond %{REQUEST_FILENAME} -f 
# Only apply if the request is NOT for a directory (uncomment to use): 
#RewriteCond %{REQUEST_FILENAME} !-d 
# Only apply when the requested URI begins with admin or images (Not Case-sensitive): 
RewriteCond %{REQUEST_URI} !^(/[admin|images]/) [NC] 
# If all conditions are met, apply the following rule: 
RewriteRule ^([A-Za-z0-9-]+)/?(index.html)?$ categories.php?prefix=$1 [QSA,L] 
+0

如果我想添加更多? admin和images –

+1

你的意思是'/ admin/images'或'/ admin'和'/ images'分開嗎? – jerdiggity

+0

及其不工作 –

0

你可以這樣做:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([A-Za-z0-9-]+)/?(index.html)?$ categories.php?prefix=$1 [QSA,L] 

這將改寫所有網址,除非真正的文件夾或文件被打開。

相關問題