2012-10-30 53 views
1

我希望这个网址:在mod_rewrite的URL中的特殊字符

http://www.mydomainblabla.com/s/can+you+drill+shrinky+dinks?.html 

重写这一个:

http://www.mydomainblabla.com/search.php?q=can+you+drill+shrinky+dinks? 

我用我的.htaccess这个的mod_rewrite规则来完成这个

RewriteRule ^s/(.+).html$ search.php?q=$1 [L,QSA] 

但是,结果并非如我所愿,当我转到第一个网址时,我收到一个找不到网页的消息。

同样的问题,当我访问这个URL是:

http://www.mydomainblabla.com/s/http://www.zakgeldnodig.nl/.html 

应该被改写成这样:

http://www.mydomainblabla.com/search.php?q=http://www.zakgeldnodig.nl/ 

我应该怎么修改我的.htaccess,使这项工作?

+0

应该重写的网址是什么样的? –

+0

@ Miguel-F:在问题中?他给他们的顺序可能有点奇怪,但它都在那里。 – Jasper

+0

重写的URL允许问号和其他特殊缩放器。 –

回答

1

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_ROOT目录:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+s/(.+?)\.html [NC] 
RewriteRule^search.php?q=%1 [L,NE] 
+0

作品!!!!!非常感谢你anublava! –

+0

非常欢迎。 – anubhava