2013-04-08 43 views
-1

我現在有一個RewriteRule設置,使域名之後的任何被作爲一個變量傳遞給pages.php.htaccess中除了指定的目錄

RewriteEngine on 
RewriteRule ^([^/\.]+)/?$ pages.php?alias=$1 

因此,例如,http://www.example.com/contactus顯示了http://www.example.com/pages.php?alias=contactus內容,這是工作的罰款。

是否可以繼續上面的內容,但排除一個特定的目錄,該目錄應該「正常」操作。

因此,http://www.example.com/shop實際上去http://www.example.com/shop,並沒有得到重定向。

回答

0

如果你想它,以便該規則將不會被應用到任何現有文件或目錄,你會想:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ pages.php?alias=$1 

如果你想它所以規則忽略shop目錄,然後:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/shop 
RewriteRule ^([^/\.]+)/?$ pages.php?alias=$1 
+0

完美,謝謝! – Rob 2013-04-08 11:41:58