1

我的 .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 错误,这是正常的。

任何人都可以帮助避免这个问题!

4

1 回答 1

1

听起来像是相对路径与绝对路径的问题。当您被重定向到/login/时,基本 URI 将/login/变为/. 因此,要么将您的 href 设为绝对 URI,要么指定一个基数:

<a href="/login/">link</a>

或将其添加到页面的标题中:

<base href="/">
于 2012-12-18T22:58:12.550 回答