Привет В моем проекте у меня есть следующий htaccess. Все работает нормально, например, я введите следующий адрес domain.com/ test some test / test /
htaccess странное поведение при удалении пробела
, который становится domain.com/test+some+test/test
как ожидается
Странная вещь для меня, по крайней мере, когда я редактирую domain.com/test+some+test/test
к
domain.com/test+some+test /test
и нажмите ввод затем он приводит к следующим результатам:
domain.com/test+some+test%20%20%20%20%20/test
Не должно ли это снова исчезнуть? Если мне что-то не хватает, пожалуйста, укажите это.
Options All -Indexes +FollowSymLinks -MultiViews
<IfModule mod_rewrite.c>
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
# remove spaces from start or after/
RewriteRule ^(.*/|)[\s%20]+(.+)$ $1$2 [L]
# remove spaces from end or before/
RewriteRule ^(.+?)[\s%20]+(/.*|)$ $1$2 [L]
# replace spaces by + in between
RewriteRule ^([^\s%20]*)(?:\s|%20)+(.*)$ $1+$2 [L,R=301]
# Remove trailing slash
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [L,R=301]
# Add trailing slash
#RewriteCond %{REQUEST_URI} !(/$|\.)
#RewriteRule (.*) %{REQUEST_URI}/ [L,R=301]
# Remove multiple slashes
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC]
RewriteRule ^(.*) $1 [R=301,L]
# Clean url rewrite
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(png|jpg|jpeg|bmp|gif|css|js|json)$ [NC]
RewriteRule ^(.*)$ /index.php?req=$1 [L,QSA]
</IfModule>
UPDATE
После дальнейшего изучения и применения R переключатель на первых 2 RewriteRules как предложено анубхава только один вопрос остается
вхожу http://tms.localhost/test+some+test /test
становится http://tms.localhost/test+some+test%20%20%20/test
, но если я введу его как это http://tms.localhost/test some test /test
становится таким, как ожидается http://tms.localhost/test+some+test/test
Ом снова: P это не удается Anubhava domain.com/ привет + есть + мальчик% 20% 20% 20/тест. Тест: domain.com/hello+there+boy/test (3spaces, как вы видите) – Syd
В вашем браузере вы входите в 'http://domain.com/test+some+test/test' правильно? – anubhava
Да с 3 пробелами перед/тестом – Syd