0

正如问题所述,我已经设法使用以下方法对 /foo/bar 执行 foo.php?q=bar

RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^foo\.php$ foo/%1? [R=301,L]

我如何希望 /foo/bar 被重定向到 foo.php?q=bar 同时检查是否

foo = foo,也就是说存在一个名为 dosearch 的文件并被重定向到

dosearch/data

现在我想看看是否

/(.*)/(.*) 

第一个匹配是dosearch,如果是那么做dosearch.php?q=$2

编辑:

这是新的 htaccess,但它一直给我“重定向太多”

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /


RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^dosearch\.php$ dosearch/%1? [R=301,NC,L]

RewriteRule ^dosearch/([^/]+)? dosearch.php?q=$1 [NC,L]

任何帮助都是赞赏的家伙......

4

1 回答 1

-1

你好,我想我明白了,但即使它在那里,以下也没有附加任何查询......如果有人能指出......那就太好了。

Options +FollowSymLinks +MultiViews

RewriteEngine On
RewriteBase /


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /dosearch\.php\?q=(.*)\ HTTP/  
RewriteRule ^dosearch\.php$ dosearch/%1?  [R=302,L]

RewriteRule ^dosearch/([^/]+)? dosearch.php?q=$1 [NC,L]
于 2013-07-25T14:52:26.030 回答