CakePHP和.htaccess:如何使用查询字符串重定向url

时间:2010-10-24 01:30:53

标签: .htaccess cakephp redirect

我想将此网址从/main.php?page=pages&id=gettingpaidfortakingsurveys重定向到/ main / pages / getting-paid-for-taking-surveys。

谢谢!

[UDPATE]

我在现有的cakephp .htaccess上进行了测试,但没有用。

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule ^/main.php?page=(.+)&id=(.+) /main/$1/$2 [NC]
 RewriteRule ^$ app/webroot/    [L]
 RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

2 个答案:

答案 0 :(得分:0)

由于您似乎想要使用Apache的.htaccess执行此操作,因此您需要mod_rewrite模块。在.htaccess中,你需要类似的东西:

RewriteEngine on
RewriteRule ^main.php?page=(.+)&id=(.+) /main/$1/$2 [NC]

这应该让你/ main / pages / gettingpaidfortakingsurveys。这不会使这个词连字,我不确定如果没有过于复杂的东西,你就能做到这一点。

答案 1 :(得分:0)

你试过这个吗,我假设这只是一个页面的重定向。你需要将它放在Cake重写块之上。第二部分必须是完整的URL:

Redirect 301 /main.php?page=pages&id=gettingpaidfortakingsurveys http://www.domain.com/main/pages/getting-paid-for-taking-surveys
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ app/webroot/    [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

如果重写是临时的,则将302替换为301。

网址的/主要部分看起来不太友好。不应该只是/ pages /...?