7 - только что осознал вторую проблему, которую мне не удалось решить, она состоит из ## папок языков. site.com/fr возвращает 404, потому что, вероятно, из-за косой черты в правиле: /

й день всем, я изо всех сил пытаюсь решить перенаправление, но безуспешно. Я изменил URL моего сайта, применяя язык по умолчанию, прежде чем это было site.com/help/, а теперь site.com/en/help/ Благодаря anubhava я сделал перенаправление, но затем столкнулся с новой проблемой с AMP страницы: site.com/amp/help/ теперь перенаправлены на site.com/en/amp/help/, хотя они должны быть site.com/amp/en/help/.

Опять же, благодаря Анубхаве, я изменил структуру URL-адресов на site.com/en/help/amp/ (amp всегда в конце). Чтобы достичь этого, мне пришлось удалить расширение .php, которое было у меня на некоторых страницах, а также было решено удалить косую черту.

Теперь я сталкиваюсь с двумя новыми проблемами: перенаправление 301 на страницу без .php и URL с косой чертой на непоследнюю косую черту не работают :( ниже приведен мой код htaccess

RewriteEngine on

# amp
RewriteRule ^(.*/)?amp/(.+?)/?$ /Опять же, благодаря Анубхаве, я изменил структуру URL-адресов на site.com/en/help/amp/ (amp всегда в конце). Чтобы достичь этого, мне пришлось удалить расширение .php, которое было у меня на некоторых страницах, а также было решено удалить косую черту.2/amp [R=301,NC,L]

## redirect to default language (fr)
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_URI} !/inc
RewriteCond %{REQUEST_URI} !/ajax/
RewriteCond %{REQUEST_URI} !/img/
RewriteRule ^(?![a-z]{2}(?:[/-]|$))(.*)$ /fr/$1 [R=301,L,NE]

## Unless directory, remove trailing slash
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/$ /$1 [R=301,NE,L]

## add trailing slash in front of directories
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^[a-z]{2}(?:-[a-z]{2})?/(.+)$ /$1/ [L]

# remove .php
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_FILENAME} !global.js
RewriteCond %{REQUEST_URI} !/ajax/
RewriteCond %{REQUEST_URI} !results.php
RewriteRule ^(.+)\.php(.*)$ /Опять же, благодаря Анубхаве, я изменил структуру URL-адресов на site.com/en/help/amp/ (amp всегда в конце). Чтобы достичь этого, мне пришлось удалить расширение .php, которое было у меня на некоторых страницах, а также было решено удалить косую черту.2 [R=301,NC,NE,L]

## amp pages
RewriteRule ^(.*)/amp$ /$1?amp=1 [NC,QSA,L]

## folders of languages
#RewriteRule ^([a-z]{2}(?:-[a-z]{2})?)/(.*)$ /$2?lang=$1 [QSA,L]
RewriteRule ^([a-z]{2}|[a-z]{2}-[a-z]{2})$ /$2?lang=$1 [QSA,L]
RewriteRule ^([a-z]{2}|[a-z]{2}-[a-z]{2})/(.*)$ /$2?lang=$1 [QSA,L]

## hide .php extention
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_FILENAME} !global.js
RewriteRule ^(.+?)/?$ $1.php [L]

Ответы на вопрос(2)

Ваш ответ на вопрос