0

我最近在网上找到一篇文章告诉我这件事:

RewriteRule ^mock-up/([^/]+)/([^/]+) /mock-up/index.php?page=$1&section=$2 [NC]

现在唯一让我发疯的事情是我是否希望能够拥有第二个目录。像:

RewriteRule ^mock-up/([^/]+)/([^/]+) /mock-up/index.php?page=$1&section=$2 [NC]
RewriteRule ^mock-up/([^/]+) /mock-up/index.php?page=$1 [NC]

但这打破了 apache ......那该怎么办?请帮忙,我需要为我的客户进行 seo,我不希望为此制作单独的文件。

4

1 回答 1

1

问题是mock-up/index.php也匹配mock-up/([^/]+). 因此,您需要直接排除目标:

RewriteRule ^mock-up/index\.php$ - [L]

或间接地:

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

所以试试这个:

RewriteRule ^mock-up/index\.php$ - [L]
RewriteRule ^mock-up/([^/]+)/([^/]+)$ /mock-up/index.php?page=$1&section=$2 [NC]
RewriteRule ^mock-up/([^/]+)$ /mock-up/index.php?page=$1 [NC]
于 2010-03-05T21:02:29.027 回答