我当前的 .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 页面。
谢谢
最佳答案
只需将尾部斜杠设为可选即可:
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]
关于php - htaccess 规则转发/登录/和/登录到同一页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1106235/