.htaccess перенаправить php на html, а также я хочу добавить флаг языка, кроме английского - PullRequest
0 голосов
/ 15 января 2020

Правила выше, чтобы заменить. php на. html. Недавно я добавил другой язык для сайта. Сайт теперь работает на китайском языке, когда в адресной строке браузера существует /? Lang = hi.

Это выглядит ужасно из приведенного ниже примера: - http://www.example.com/?lang=hi - http://www.example.com/about-us.html?lang=hi - http://www.example.com/contact-us.html?lang=hi

Пример Что я хочу, это Индекс хинди - http://www.example.com/?lang=hi равно http://www.example.com/hi - http://www.example.com/about-us.html?lang=hi равно http://www.example.com/hi/about-us.html - http://www.example.com/contact-us.html?lang=hi равно http://www.example.com/hi/contact-us.html

http://www.example.com/ не будет перенаправлен на http://www.example.com/en - сайт Engli sh останется как http://www.example.com - http://www.example.com/ равно http://www.example.com/ - http://www.example.com/?lang=en равно http://www.example.com/

RewriteCond %{REQUEST_FILENAME} =-f
RewriteRule ^(.*)\.php$ $1.html [NC,L]
RewriteRule ^(.*)\.html$ $1.php [NC,L]
RewriteRule ^(.*).html$ $1.php? [QSA]
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [L,R=301]

1 Ответ

1 голос
/ 15 января 2020

Вы можете использовать эти правила:

RewriteEngine on

##############################
#Redirect php to html
#This will redirect and rewrite your php files to html
#redirect file.php to file.html
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule .+ /%1.html [L,R,NE]
#Rewrite file.html to file.php
RewriteCond %{REQUEST_FILENAME} ^(.+)\.html$
RewriteCond %1.php  -f
RewriteRule ^(.+)\.html$ /$1.php [L]
#############################
#language redirection
#1) /?lang=hi as /hi (for hompage)
RewriteRule ^hi/?$ /?lang=hi [L,NC]
#for html pages
RewriteRule ^hi/(.+)\.html$ /$1.html?lang=hi [L,NC]

Обязательно очистите кеш браузера перед проверкой этих правил.

Если вы довольны правилами, измените R на R = 301, чтобы сделать перенаправление постоянным, а браузер кэшироваться.

...