htaccess检测并重写

时间:2011-01-11 04:03:22

标签: .htaccess

我在使用htaccess方面遇到了很大的问题但是对这个论坛的帮助更加熟悉了。但有一个问题我似乎无法用这个论坛的搜索功能来解决,或者我的关键词可能是它自己的问题。这就是我希望你们能开导我的场景:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^u=([0-9])$
RewriteRule ^([0-9])/([^/]*)$ /example/index.php?u=$1&m=$2 [QSA,NC,L]

上面的modrewrite是为了帮助我检测“u”的参数是否存在及其数字形式,它将重写为上述规则。如果没有,它将使用以下重写规则。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^!u=([0-9])$
RewriteRule ^([^/]*)$ /example/index.php?m=$1 [QSA,NC,L]

嗯,正如你所看到的,它不能很好地工作。我非常感谢这里提供的任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我刚刚找到了解决自己问题的方法。这是讽刺的。你走了:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ example/index.php?u=$1 [QSA,NC,L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]*)/?$ example/index.php?m=$1 [QSA,NC,L]

这是为了那些想要了解的人。 =)