?
다음과 같이 한정자를 추가하여 문자를 선택적으로 만들 수 있습니다 .
RewriteRule ^([^/]+)/?$ $1/index.html
이제 모두 /foobar
와 /foobar/
에 다시 작성 될 것이다 /foobar/index.html
.
그러나 후행 슬래시를 포함하거나 포함하지 않고 하나의 맞춤법 만 사용하고 다른 하나는 리디렉션하는 것이 좋습니다.
# remove trailing slash
RewriteRule (.+)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ /$1/ [L,R=301]
이러한 규칙은 누락 된 후행 슬래시를 제거하거나 추가하고 영구 리디렉션을 수행합니다.
-------------------나는 같은 문제가 있었지만 mod_alias를 사용하여 하위 사이트를 설정했습니다. 결과적으로 제대로 작동하려면 후행 슬래시없이 두 번째 별칭을 만들어야했습니다. 다음과 같이 보였습니다.
Alias /forum/ "/var/www/forum"
Alias /forum "/var/www/forum"
<Directory "/var/www/forum">
Options FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
우분투에서는 이 줄로 /etc/apache2/mods-enabled/alias.conf 파일 을 편집 한 다음 아파치를 다시 시작해야했습니다. 웹에서이 답변을 찾을 수 없습니다. mod_rewrite가 작동하지 않았고 DirectorySlash 명령도 도움이되지 않았기 때문에 나는 방금 그것을 발견했습니다. 나는 Drupal 설치의 하위 사이트로 non-Drupal 프로그램을 추가하고 있었는데, 이것이 처음에이 모든 광기를 촉발시킨 것입니다 ...
-------------------후행 슬래시를 사용하여 별칭을 정의하지 마십시오.
http://example.com/myalias1 및 http://example.com/myalias1/ 두 URL 모두 제대로 작동합니다.
예:
sudo vi /etc/apache2/apache2.conf
Alias /myalias1 "/path/to/folder1"
출처
https://stackoverflow.com/questions/2006186