правило htaccess для пересылки /входа/ и /входа на одну и ту же страницу?
У меня есть следующее правило в моем текущем файле .htaccess для перенаправления /videos/login/
запросов на /videos/login.php
RewriteRule login/ /videos/login.php
Это прекрасно работает, если я получаю доступ к странице входа с помощью http://mysite.com/videos/login/
, но когда я пытаюсь получить доступ к той же странице с помощью http://mysite.com/videos/login
(без конечной косой черты), это выдает мне ошибку "404 страница не найдена".
Пожалуйста, скажите мне, какое будет правильное правило для файла .htaccess, чтобы любой запрос на http://mysite.com/videos/login/
или http://mysite.com/videos/login
указывал на то же самое/videos/login.php страница.
Спасибо
4 answers
Просто сделайте завершающую косую черту необязательной:
RewriteRule ^videos/login/?$ /videos/login.php
Но вам лучше использовать только один вариант (с косой чертой или без нее) и перенаправлять один на другой:
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ /$0/ [L,R=301]
# remove trailing slash
RewriteRule (.*)/$ /$1 [L,R=301]
Для меня это прекрасно работает:
Перезаписать ^войти(/|)$/videos/login.php
Использование mod_rewrite
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/videos/login/?$
RewriteRule (.*) /videos/login.php [L,R=301]
redirect 301 /videos/login/index.html http://yoursite.com/videos/login.php The server will change the address http://mysite.com/videos/login/ and http://mysite.com/videos/login both to http://mysite.com/videos/login/index.html, based on the configuration but this is default. Before it encounters a 404 this address is redirected to the new one. At least this works at my site.
Пришлось использовать pre, потому что сайт позволяет мне размещать только одну гиперссылку:/