带有重音符号的 htaccess 会使用 ñ 字符破坏 URL

带有重音符号的 htaccess 会使用 ñ 字符破坏 URL

我有以下带有 url 的 htaccess:http://localhost/caña运行正常。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [S=1,L]

# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A] - [E=HASCAPS:TRUE,S=1]

# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A] - [S=3]

# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2 [DPI]
# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [A] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R,L]

RewriteRule ^index\\.php$ - [L]
RewriteRule ^plugins/(.*) /wp-content/plugins/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

但是当我添加以下修改时:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [S=1,L]

# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [Aá] - [E=HASCAPS:TRUE,S=1]

# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![Aá] - [S=4]

# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2 [DPI]
RewriteRule ^([^á]*)á(.*)$ $1a$2 [DPI]
# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [Aá] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R,L]

RewriteRule ^index\\.php$ - [L]
RewriteRule ^plugins/(.*) /wp-content/plugins/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

该 URLhttp://localhost/caña根本无法加载,它会一直处于加载状态而不执行任何操作。

任何想法?

相关内容