2010-09-24 59 views
0

下面是我的.htaccess这个文件夹的文件。我的问题是,这些网址在PHP脚本收到时会分割$ _GET变量。

  1. /食品和饮食/用品/测试 - & -cake.html
  2. /food-and-diet/articles/test-%26-cake.html

两者的这些URL创建此$ _GET数组:

Array ([article] => test- [-cake] => [folder] => none) 

Options +FollowSymLinks 
    RewriteEngine On 
    RewriteBase /food-and-diet/ 
    RewriteRule ^.+(/css/.+)$ $1 [L] 
    RewriteRule ^.+(/js/.+)$ $1 [L] 
    RewriteRule ^.+(/images/.+)$ $1 [L] 
    RewriteRule ^\index.html$ index.php [NC,L] 
    Rewriterule ^articles/?$ index.php?index=$1&article=none&folder=none [NC,L] 
    Rewriterule ^articles/([^.^/]+)/?$ index.php?article=none&folder=$1 [NC,L] 
    RewriteRule ^articles/([^/]+)\.jpg$ articles/$1.jpg [L] 
    RewriteRule ^articles/([^/]+)\.gif$ articles/$1.gif [L] 
    RewriteRule ^articles/([^/]+)\.png$ articles/$1.png [L] 
    Rewriterule ^articles/([^/]+)\.html$ index.php?article=$1&folder=none [NC,L] 
    RewriteRule ^articles/([^.^/]+)/([^/]+)\.jpg$ articles/$1/$2.jpg [L] 
    RewriteRule ^articles/([^.^/]+)/([^/]+)\.gif$ articles/$1/$2.gif [L] 
    RewriteRule ^articles/([^.^/]+)/([^/]+)\.png$ articles/$1/$2.png [L] 
    Rewriterule ^articles/([^.^/]+)/([^/]+)\.html$ index.php?article=$2&folder=$1 [NC,L] 
+0

您是否必须在文件名中使用&? – dekomote 2010-09-24 23:11:18

+0

我必须考虑到这个可能性,客户问到这一点。 – Darpeh 2010-09-24 23:16:35

回答

3

使用B flag正确地将匹配的路径部分转换为查询部分。

+0

令人感到震惊的是,它非常简单,但非常感谢。 – Darpeh 2010-09-24 23:14:04