2013-02-19 58 views
0

我试图将子目录转换为搜索查询。所以基本上:Mod重写,将子目录转换为查询字符串?

example.com/pizza 

将被转换为:

example.com/?s=pizza 

我的htaccess的基本知识和我以前做过类似的事情,但这个时候,我不能使它发挥作用。这就是问题所在:

这工作:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)$ /results/?s=$1 [L,QSA] 

然而,当我点重写目标到root的用户会被重定向到“example.com”无查询字符串。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)$ /?s=$1 [L,QSA] 

如何将“example.com/pizza”重写为“example.com/?s=pizza”?带或不带斜线

http://example.com/any/number/of/folders/parameter:默默

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^(?:.*)?/([^/]+)/? [NC] 
RewriteRule .*  /?s=%1      [L] 

地图:

回答

1

你可以试试这个。

要:

http://example.com/?s=parameter

所有字符串被假定为是可变的。

对于永久和可见重定向,请将[L]替换为[R=301,L]