Назад | Перейти на главную страницу

Как удалить завершающую косую черту с помощью .htaccess на локальном хосте с помощью UniServer

Я хочу удалить последнюю косую черту в конце URL-адреса. Например: я хочу http://localhost/mysite/page/ переписать на http://localhost/mysite/page.

Я использую этот код на моем локальном хосте .htaccess.

Options +FollowSymLinks
RewriteEngine   on
RewriteRule ^([a-zA-Z0-9_-]+)/$ $1 [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)$ web.php?page=$1

Если я напишу в своем браузере http://localhost/mysite/index, это показывает то, что я хочу. Но если я напишу http://localhost/mysite/index/ он сообщает мне «не найден» и «запрошенный URL не был найден на этом сервере». Я использую UniServer в Windows 8.

Попробуйте вместо этого:

# Remove trailing slash if not an existing directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]

# Rewrite to use web.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web.php?page=$1 [L]

Возможно, вам не придется менять второе правило, если оно уже работает нормально.

Это сработало, добавив эту строку

RewriteRule ^(.*)/$ /mysite/$1 [R,L]