Regex mod_重写目录的尾部斜杠,并删除文件url的尾部斜杠
嗯。我在尝试删除文件url中的最后一个斜杠时遇到了这个问题,例如Regex mod_重写目录的尾部斜杠,并删除文件url的尾部斜杠,regex,.htaccess,mod-rewrite,server-side,Regex,.htaccess,Mod Rewrite,Server Side,嗯。我在尝试删除文件url中的最后一个斜杠时遇到了这个问题,例如http://domain.com/styles/styles.css/。我得到了在末尾添加斜杠的代码,但我不知道如何执行条件语句 如果URL有extesion,则删除结束斜杠 否则添加斜杠 我现在得到的一些博客说这是解决方案,但仍然没有达到我的预期 RewriteCond %{REQUEST_URI} !\.[^./]+$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)([
http://domain.com/styles/styles.css/
。我得到了在末尾添加斜杠的代码,但我不知道如何执行条件语句
如果URL有extesion,则删除结束斜杠
否则添加斜杠
我现在得到的一些博客说这是解决方案,但仍然没有达到我的预期
RewriteCond %{REQUEST_URI} !\.[^./]+$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]
当我键入http://domain.com/index
转到http://domain.com/inde/
。
需要你们的帮助。。提前非常感谢。在htaccess中添加以下代码,以便更好地理解
RewriteCond %{HTTP_HOST} !^\.yourdomain\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
I have a link : domain.com/folder/
it will change to : domain.com//folder
您还可以通过包含directorysash off来关闭mod_dir的重定向。为什么要对此类“家具”文件执行外部重定向?你肯定想要一个内部重定向
Options -MultiViews
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^(.+)/$ $1 [L]
如果不使用mutliviews,我建议您关闭它,因为这会生成子请求,使事情变得混乱。您的
RewriteCond
条件在逻辑上是颠倒的,因为您有代码>操作员在那里。因此,重写只适用于那些没有扩展名,也没有尾随斜杠的输入
您可以使用单个规则执行此操作,无需任何条件:
# Match any sequence of characters, ending in a dot followed
# by one or more characters that don't contain dots or slashes,
# followed by a final trailing slash.
#
# Rewrite this absolutely and treat as redirect.
RewriteRule ^(.*\.[^./]+)/$ /$1 [L, R=301]
和你一样的问题这有什么意义?它总是匹配的,因为你永远不会得到一个域名“.yourdomain.com
”。顺便问一下,除了网站本身写得很糟糕的HTML之外,为什么还有什么东西会引用style.css/
?您真正需要修复斜杠的唯一时间是针对根页面,如http://example.com/coolproject
。为什么不修复HTML,它需要一个带有额外斜杠的样式表?通过允许style.css/
工作,可以将文件引用为目录。