htaccess从/ foo / bar /重定向到foo.php?q = bar

时间:2013-07-25 11:15:12

标签: php regex .htaccess mod-rewrite

问题是我已经设法做了foo.php?q = bar到/ foo / 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.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]

任何帮助都是有意思的人......

1 个答案:

答案 0 :(得分:-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]