2012-01-30 32 views

回答

4

试试这个:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} ^/(images/|css/|js/) 
RewriteRule . - [S=2] 

RewriteRule ^([a-z0-9_\-\.]+)/?$ index.php?page=$1 [L,NC,QSA] 
RewriteRule ^([a-z0-9_\-\.]+)/([a-z0-9_\-\.]+)/?$ index.php?page=$1&item=$2 [L,NC,QSA] 

确保mod_rewrite的是使

编辑:我加点,泳池在那里有一个好点。

[S]标志用于跳过您不想运行的规则。这可以被认为是您的重写规则集中的goto语句。在以下示例中,如果请求的URI与实际文件不符,我们只想运行RewriteRule。

+1

我认为你需要在克拉之后的正则表达式开始时使用'/'?此外,我倾向于只匹配'[^ /] +',以便在有人在投资组合名称中加入点时不会中断。“ – poolie 2012-01-30 00:56:14

+0

您可以在开始时添加'/',但我个人更喜欢使用'RewriteBase /'。所以如果你需要添加规则,这很容易。我同意第二部分,尽管我不喜欢在URL中使用'-','_','.'以外的字符。 – 2012-01-30 00:59:07

+0

有趣。我不认为这正是它的意思,但我想它的工作... – poolie 2012-01-30 01:03:56

相关问题