Php htaccess规则是否转发/登录/和/登录到同一页面?

Php htaccess规则是否转发/登录/和/登录到同一页面?,php,apache,.htaccess,url-rewriting,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/v

我在当前的.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]
使用mod_重写

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/videos/login/?$
RewriteRule (.*) /videos/login.php [L,R=301]
重定向301/videos/login/index.htmlhttp://yoursite.com/videos/login.php 服务器将更改地址http://mysite.com/videos/login/ 及http://mysite.com/videos/login 都是http://mysite.com/videos/login/index.html,基于配置,但这是默认设置。在遇到404之前,该地址被重定向到新地址。至少在我的网站上是这样的。 不得不使用pre,因为该网站让我只发布一个超链接:/

这对我来说很好:


重写规则^login(/|)$/videos/login.php

@Gumbo您的规则运行良好,它打开同一页时使用斜杠和不使用斜杠,但我想当任何人访问/videos/login时,他将被重定向到/videos/login/是否可以使用htaccess。我刚才提到了这两个选项。如果您想要尾部斜杠,只需使用前一个。但是#添加尾部斜杠会将斜杠添加到我的所有URL,这是我不想要的,有一些选定的URL需要此功能。尾部斜杠将添加到无法映射到现有文件的每个URL路径(
RewriteCond%{REQUEST_FILENAME}!-f
)。但如果您不想这样做,请使用
RewriteCond%{REQUEST_URI}^/(videos/login | foo/bar | baz/qux |…)$
来列出您想要的URL路径。 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.