这是我的重定向:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1
问题是如果我输入http://www.example.com/apple
,那么当我的页面上的链接就可以了。
但如果我使用http://www.example.com/apple/
(注意最后一个斜杠),那么链接都会搞砸。
如何编写.htaccess所以链接不包括最后一个斜杠而不是搞砸页面上的链接?
更新:我最终使用:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
答案 0 :(得分:2)
答案 1 :(得分:0)
您应该考虑使用绝对URL路径或绝对URL来引用外部资源。
因为相对URL是从基本URL解析的,所以如果没有另外声明,那就是当前文档的URL(参见BASE
HTML element)。因此,如果您仅使用相对网址路径/baz/quux
引用baz/quux
,则在/baz/quux
中使用时,/foo
会正确解析/foo/baz/quux
,但会将其解析为/foo/bar
在/baz/quux
中使用时。但绝对网址路径/baz/quux
始终已解析为{{1}}。