2016-12-08 4 views
-1

Это мой файл .htaccess:.htaccess многих параметров в MultiLang версии

AddHandler application/x-httpd-php56 .php 
Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{QUERY_STRING} !lang=(de|en|es|fr|nl|pl|ru|se) 
RewriteRule ^$/ [R=301,L] 
RewriteRule ^(de|en|es|fr|nl|pl|ru|se)$ $1/ [R=301,L] 
RewriteRule ^(de|en|es|fr|nl|pl|ru|se)/(.*)$/ $2?lang=$1&%{query_STRING} [L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]*)$ /index.php?p=$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]*)/([^/]*)$ /index.php?p=$1&id=$2 [L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$1&g=$2&id=$3 [L] 

Теперь основная версия без поддиректории языка работает идеально:

ganted.pl/category/example

$ _GET parmeters

Array ([p] => category [id] => example) 

Проблема возникает в языковых версиях:

ganted.pl/en/category/example

$ _GET parmeters

Array ([p] => en [g] => category [id] => example) 

Как я могу удалить код языка, чтобы не вмешиваться в параметры в $ _GET?

ganted.pl/en/category/example должен пройти следующее:

Array ([p] => category [g] => example) 

ответ

0

UNTESTED:

Изменить последние строки в вашем примере

RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$1&g=$2&id=$3 [L] 

к

RewriteRule ^(de|en|es|fr|nl|pl|ru|se)/([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$2&g=$3&id=$4 [L] 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$1&g=$2&id=$3 [L] 

Да, jus t добавьте первую строку над вашей последней. Это должно сделать трюк Если вам это нужно, вы можете изменить свою новую строку:

RewriteRule ^(de|en|es|fr|nl|pl|ru|se)/([^/]*)/([^/]*)/([^/]*)$ /index.php?lang=$1&p=$2&g=$3&id=$4 [L] 

так что вы можете использовать параметр языка тоже.

Не стесняйтесь изменять и другие линии;)

+0

не работает. Таким образом, я не могу передать третий параметр (id). – Jarek

+0

@Jarek: У вас есть пример, когда вы хотите получить идентификатор и как выглядит URI? – Paladin

+0

http://ganted.pl/ - без параметров | http://ganted.pl/category - [p] | http://ganted.pl/category/example [p] [g] | http://ganted.pl/category/example/4 [p] [g] [id] – Jarek