php - htaccess 规则转发/登录/和/登录到同一页面?

标签 php apache .htaccess url-rewriting

我当前的 .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/

相关文章:

javascript - 如果选中复选框切换,则在切换 div 中创建一个必需的输入字段

apache - 启动时 Apache Tomcat 中的 PS Permgen 为 98%

php - Laravel 项目旁边的 Wordpress 项目(在 public_html 文件夹中)

.htaccess - 从服务器删除图像,使用 htaccess 修复谷歌错误

php - 在 SQL 查询中使用 PHP 来确定查询的下一部分应该如何进行

php - 使用引导验证器检查重复的 mysql 数据

执行存储过程时 PHP Apache 崩溃

apache - .htaccess 解析 url 在 localhost 上工作,但在 VPS 主机上获取重定向循环

mysql - Wordpress - ftp 站点/导出数据库到本地主机,本地主机图像仍然指向 .com,为什么?

php - 为 $_GET 变量分配一个新值