2015-09-28 2 views
1

как название говорит, что новобранец в поле «URL Rewriting», и я хотел бы задать вопрос, который мог бы помочь многим другим, таким как я.Rookie Url Rewriting

Допустим, у нас есть URL, как это:

http://myepicsite.wow/index.php?value_x=1&value_y=2&value_z=3 

Как можно переписать этот адрес на что-то вроде этого (seofriendly) без написания кода для каждой страницы, которая генерируется из этих _GET [] переменные? :

http://myepicsite.wow/index.php/1/2/3 

ответ

0

Попробуйте добавить это к вашему .htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^myepicsite.wow [NC] 
RewriteRule ^(.*)$ http://myepicsite.wow/$1 [L,R=301] 
RewriteRule ^index.php/(.+)/(.+)/(.+)/?$ index.php?value_x=$1&value_y=$2&value_z=$3&%{QUERY_STRING} [L] 
2

Try:

RewriteEngine On 
RewriteRule ^index\.php/([^/]+)/([^/]+)/([^/]+)$ /index.php?value_x=$1&value_y=$2&value_z=$3 [L,QSA] 

Тогда вам просто необходимо убедиться, что ваши ссылки все выглядят как http://myepicsite.wow/index.php/1/2/3.

Однако вы уже можете прочитать их из index.php даже без правила перезаписи. В вашем скрипте index.php вы должны иметь возможность прочитать переменную $_SERVER['PATH_INFO'] и посмотреть /1/2/3, а затем просто взорвать это в массиве и назначить их переменным value_x/y/z.

+0

Согласитесь, но я думаю, что переписать его более чистым :) –

+0

Переписать его работу отлично, но когда я делаю это, например: var_dump ($ _ GET); $ _GET пуст. –