rewrite mod?HOW TO?

Kavhann

Registered
Здравейте,

Имам уеб сайт, който поддържа два езика - английски и български. Ако името на сайта ми е:

www.domain.com

то задаването на езика става чрез $_GET['lang'] променлива. Тоест:

www.domain.com?lang=bg

или

www.domain.com?lang=en

Това което искам да постигна е да направя mod rewrite и да постигна следния ефект:

www.domain.com/bg/

или

www.domain.com/en/

Рових се в интернет четох и открих следния регулярен израз, който трябваше да ми свърши работа:

Код:
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)\.html$ /index.php?lang=$1 [L]

Всичко това поставих в .htaccess файла на главната директория на хостинг сървъра ми. И тествах....резултат НУЛЕВ.


Та от тук и моя логичен въпрос.

КАК ДА НАПРАВЯ mod rewrite от следния тип:

от:
www.domain.com?lang=X
до:
www.domain.com/X/

???

Очаквам отговори с нетърпение. Благодаря.
 
Ако ползваш конкретно само 2 езика - bg/en ти препоръчвам да ограничиш израза само за тях, за да може да обработваш евентуални грешки.

Код:
RewriteEngine On
RewriteRule ^([bg|en]+)[/]?$ index.php?lang=$1 [L]

Ако не, то тогава го промени с [a-zA-Z]
 
Пробвах и този вариант, но не става...

Изпробвах следните два варианта:

Код:
RewriteEngine On
RewriteRule ^([a-zA-Z][a-zA-Z]+)[/]?$ index.php?lang=$1 [L]


Код:
RewriteEngine On
RewriteRule ^([a-zA-Z]+)[/]?$ index.php?lang=$1 [L]

Код:
RewriteEngine On
RewriteRule ^([bg|en]+)[/]?$ index.php?lang=$1 [L]


Моля дайте съвет.
 
пробвах и последния постинг и той не сработи...

Добре, предполагам, че с поставянето на подходящ регулярен израз в .htaccess файл-а rewrite mod-а трябва да сработи. Да не би да има нужда от нещо друго освен изразите написани по-горе???
 
Kavhann каза:
пробвах и последния постинг и той не сработи...

Добре, предполагам, че с поставянето на подходящ регулярен израз в .htaccess файл-а rewrite mod-а трябва да сработи. Да не би да има нужда от нещо друго освен изразите написани по-горе???

По-принцип кода, който съм ти дал по-горе при мен работи!

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?lang=$1 [L,QSA]

Дори го тествах на Localhost-а. Сървъра, на които качваш файла поддържат ли mod_rewrite?
 

Back
Горе