我的.htaccess代码如下:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)/$ $1.php
这对我有用,因为如果我使用www.domain.com/login链接,我会恢复以下www.domain.com/login/,这很好。唯一的问题是,我的HREF链接变为:www.domain.com/login/login非常糟糕。当然,当我单击它时,我会得到正常的404错误。
任何人都可以帮助避免此问题!
听起来像是一个相对与绝对路径问题。当您重定向到/login/
时,基本URI将变为/login/
,而不仅仅是/
。因此,要么使您的HREF成为绝对的URI或指定基础:
<a href="/login/">link</a>
或将其添加到页面的标题:
<base href="/">