CakePHP и .htaccess: как перенаправить URL со строкой запроса - PullRequest
1 голос
/ 24 октября 2010

Я хотел перенаправить этот URL из /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 голосов
/ 24 октября 2010

Вы пробовали это, я предполагаю, что это перенаправление только для одной страницы.Вам нужно будет поместить его над блоком перезаписи 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.

/ main часть URL выглядит не очень дружелюбной к тортам,Разве это не должно быть просто /pages/...?

0 голосов
/ 24 октября 2010

Поскольку вы, похоже, хотите сделать это с помощью Apache .htaccess, вам понадобится модуль mod_rewrite.В .htaccess вам понадобится что-то вроде:

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

Это должно получить вас / main / pages / gettingpaidfortakingsurveys.Это не будет переносить слово, и я не уверен, что вы сможете сделать это без чего-то слишком сложного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...