重写 URL Htaccess

Rewrite URL Htaccess

我想重定向 augias.eu 到子目录 augias.eu/fr。 重定向工作正常,但是像 augias.eu/fr/path 这样的所有 url 都被重定向到 augias.eu/fr 我不明白。该网站已上线。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^augias.eu [NC,OR]
RewriteCond %{HTTP_HOST} ^www.augias.eu [NC]
RewriteRule ^(.*)$ https://augias.eu/fr/ [L,R=301,NC]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

/fr目录的HTacces文件

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

在主目录 .htaccess 文件中更改此 RewriteRule:

RewriteRule ^(.*)$ https://augias.eu/fr/ [L,R=301,NC]

到这个:

RewriteRule ^(.*)$ https://augias.eu/fr/ [L,R=301,NC]

因为</code>表示第一个包含在<code>()中的值。在这种情况下匹配此表达式 (.*).

在 /fr/ 文件夹中,编辑或创建一个新的 .htaccess 文件,内容如下:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /fr/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /fr/index.php [L]
</IfModule>

# END WordPress