2014-03-27 16 views
0

我试图从重定向由形式生成的URLhtaccess的重定向与获取和扭曲

http://domain.co.uk/check.php?s=WUD092050549Ehttp://domain.co.uk/s/WUD092050549E.html

我已经试过

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)/s/$ check.php?s=$1 

RewriteEngine On 
RewriteRule ^f/([^-]*)\.html$ /check.php?s=$1 [L] 

没有成功。我也想知道如果有一种方法可以让人们以指定相同的URL结构的格式即

http://domain.co.uk/check.php?s=WUD092050549&format=jsonhttp://domain.co.uk/s/WUD092050549E.json


编辑

我来了与下面似乎工作与重写网址回到他们曾经在哪里

RewriteEngine on 

RewriteCond %{QUERY_STRING} ^(.*)$ 
RewriteRule ^([^.]+).([^?]+)$ /s/check.php?s=$1&format=$2 

但我无法得到它,所以当表格发送http://domain.co.uk/check.php?s=WUD092050549E&format=html它重定向到漂亮的URL。

+0

你的第二个例子'http://domain.co.uk/s/WUD092050549E.json '你想要json格式的页面内容还是仅仅是'.json'扩展名? – Howli

+0

,所以我基本上想要格式为“http://domain.co.uk/s/ {s}。{format}”,其中花括号中的部分是我的变量。 我可以使用我的脚本以适当的格式输出。 –

回答

0

以下应为你工作:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /check\.php\?s=(.*)&format=(.*)\ HTTP 
RewriteRule^/s/%2.%3\? [R,L] 
0

您可以使用此规则:

RewriteEngine On 
RewriteRule ^s/([\w-]+)\.(.+)$ check.php?s=$1&format=$2 [L,QSA,NC]