Answer the question
In order to leave comments, you need to log in
How to add "/" at the end of URL in Yii 2 Advanced Application Template?
Good day.
Can you tell me how to add a slash at the end of the URL in case of using Yii 2 Advanced Application Template?
At the moment my .htaccess looks like this:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^site\.ru$
RewriteCond %{REQUEST_URI} !/frontend/
RewriteRule ^(.*)$ /frontend/web/$1 [L]
RewriteCond %{HTTP_HOST} ^backend\.site\.ru$
RewriteCond %{REQUEST_URI} !/backend/
RewriteRule ^(.*)$ /backend/web/$1 [L]
AddDefaultCharset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml
AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# favicon
RewriteCond %{REQUEST_URI} ^/favicon\.ico$
RewriteRule (.*) - [L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Answer the question
In order to leave comments, you need to log in
############################################################################
#### Убираем повторяющиеся слеши (/) в URL ####
############################################################################
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
############################################################################
#### Убираем слеши в конце URL для статических файлов (содержит точку) ####
############################################################################
RewriteCond %{REQUEST_URI} \..+$
# Если файл содержит точку.
RewriteCond %{REQUEST_FILENAME} !-d
# И это не директория.
RewriteCond %{REQUEST_FILENAME} -f
# Является файлом.
RewriteCond %{REQUEST_URI} ^(.+)/$
# И в конце URL есть слеш.
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Исключить слеш.
############################################################################
#### Добавляем слеш(/), если его нет, и это не файл. ####
############################################################################
RewriteCond %{REQUEST_URI} !(.*)/$
# Если слеша в конце нет.
RewriteCond %{REQUEST_FILENAME} !-f
# Не является файлом.
RewriteCond %{REQUEST_URI} !\..+$
# В URL нет точки (файл).
RewriteRule ^(.*)$ $1/ [L,R=301]
# Добавляем слеш в конце.
in the application's Url manager, add the suffix parameter with the appropriate value, for example:
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'suffix' => '/',
],
]
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question