2013-07-05 3 views
0

Я новичок в mod-rewrite, и я попытался переписать этот URL-адрес без успеха.mod_rewrite URL-адрес со многими переменными

URL структуры, как это:

http://mysite.com/script.php?id=15751890&xp=862297&wm=1721&ls=2725&he=63530&ks=23050&eath=53588&tk=10&ck=john&rk=37 

Я хочу кратна переписать его:

http://mysite.com/script.php?id=15751890 

Или:

http://mysite.com/15751890/862297/1721/2725/63530/23050/53588/10/john/37 

Я после этого http://wettone.com/code/clean-urls и это http://net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/

Но просто не могу сделать это написать

Что вводить в файл Htaccess

+0

Я предполагаю, что вы имеете в виду, наоборот, что вы хотите переписать чистый URL-адрес скрипту с помощью строки запроса? Что у вас есть? –

+0

нет строки запроса (если я вас хорошо понял) У меня есть переменные GET в URL-адресе и просто хочу скрыть все из них, кроме одного, используя mod-rewrite. они сказали мне, что так оно и есть –

ответ

-1

Обратитесь к моему ответу на этот вопрос:

php, handle unique URLs

Это даст вам следующее:

http://mysite.com/15751890/862297/1721/2725/63530/23050/53588/10/john/37 
-1

Вместо того чтобы пытаться выяснить каждую возможную комбинацию перезаписи, вы должны изучить метод маршрутизации MVC.

Таким образом, вы направляете все на PHP-маршрутизатор, а затем направляют запрос на контроллеры и т. Д. По мере необходимости.

Htaccess переписать все:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

В вашем PHP скрипт, вы можете использовать: $_SERVER['REQUEST_URI'], чтобы получить требуемый URI.

Пример: http://example.com/foo/bar/95 будет переписываться на index.php, а $_SERVER['REQUEST_URI'] будет /foo/bar/95 - и затем вы маршрутизируете соответственно.

Как правило, ваша структура URL будет, как:

http://example.com/controller/action/param_1/param_2/param_3/etc

В то время как "действие" это просто другое название для метода контроллеров. Как вы его кодируете, зависит от вас.

0

Ну, если вы действительно хотите написать такую ​​переписку, вы сможете использовать ее в своем файле htaccess. Есть, вероятно, лучшие способы обработки URL-адреса, однако я даю вам то, о чем вы просили.

ПРИМЕЧАНИЕ: Я ухожу от указанного вами URL-адреса.

RewriteEngine on 
RewriteRule (.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*) script.php?id=$1&xp=$2&wm=$3&ls=$4&he=$5&ks=$6&eath=$7&tk=$8&ck=$9&rk=$10&%{QUERY_STRING}$ [L] 

Таким образом, вы можете использовать этот тип URL с этим переписыванием.

http://mysite.com/15751890/862297/1721/2725/63530/23050/53588/10/john/37 
+0

что это? не работает! –

+0

Да, да. И вы можете проверить его здесь. http://htaccess.madewithlove.be/ Вы никогда не говорили, что не работает, и не принесли ни одного примера каких-либо усилий, которые вы сделали. В любом случае .. удачи вам. –

Смежные вопросы