.htaccess переписать на тот же URL и передать получить параметры - PullRequest
0 голосов
/ 27 ноября 2018

Все примеры, которые я вижу с RewriteRule, выглядят примерно так: RewriteRule ^([a-z])$ index.php?example=$1

Но у меня есть следующий случай: я хочу

example.com / en / что-то

переписать на

example.com / что-то? Lang = ru

И это относится ко всем вещам на месте что-то .По сути, я хочу взять первый параметр, только если он en или ru , и переписать на ту же ссылку, но только для передачи его в качестве параметра get

So

example.com / ru / что-то еще / что-нибудь

также переписывает в

example.com / что-то esle / что-нибудь? Lang= ru

Как я могу это сделать?

ОБНОВЛЕНИЕ Я попробовал это RewriteRule ^(en|ru)/(.*)$ $2?lang=$1, но он говорит, что страница не найдена (возвращается 404страница из моего приложения, а не с сервера).

1 Ответ

0 голосов
/ 28 ноября 2018

Мне все-таки удалось это исправить.Теперь это мой .htaccess:

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /avc0135/

#Language
RewriteRule ^(en|ru|bg)/(.*)$ $2?lang=$1
RewriteRule ^(en|ru|bg)$ ?lang=$1
#Language

RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

После нескольких поисков того, как именно работает .htaccess, мне удалось выяснить RewriteRule, после этого проблема заключалась в том, что блок #Language находился внизу.Я переехал раньше всего, и это сработало.

...