Php 将尾部斜杠添加到slug url
我有这个重写条件 我用它抓取slug url并搜索如下博客帖子:Php 将尾部斜杠添加到slug url,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我有这个重写条件 我用它抓取slug url并搜索如下博客帖子: http://localhost:8080/blog/my-first-post 因此,我抓起slug,然后寻找post并显示它。 现在它接受这两种形式 http://localhost:8080/blog/my-first-post http://localhost:8080/blog/my-first-post/ 如何更改.htaccess,使其始终以斜杠结尾添加或重定向 我应该如何更改它以始终删除斜杠 以下是我现在拥有的
http://localhost:8080/blog/my-first-post
因此,我抓起slug,然后寻找post并显示它。
现在它接受这两种形式
http://localhost:8080/blog/my-first-post
http://localhost:8080/blog/my-first-post/
如何更改.htaccess,使其始终以斜杠结尾添加或重定向
我应该如何更改它以始终删除斜杠
以下是我现在拥有的.htaccess,它位于博客目录中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-L
重写规则^(.*)$index.php?url=$1[QSA,L]
您可以用此代码替换当前的htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
# add trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1/ [R=301,L]
# remove trailing slash
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.+?)/$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
重新启动发动机
重写库/博客/
#添加尾部斜杠
重写cond%{REQUEST_URI}/$
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$$1/[R=301,L]
#删除尾部斜杠
#重写cond%{REQUEST_FILENAME}-D
#重写规则^(+?)/$$1[R=301,L]
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$index.php?url=$1[QSA,L]
现在,它添加了尾部斜杠。如果您想删除它,注释
添加尾随斜杠
块行和取消注释删除尾随斜杠
块行谢谢,但它需要我一个从到的目录,也许我不明确。另外,你能给我一个简短的解释或者给我链接到一些我可以从哪里开始学习的地方吗?谢谢很抱歉,我完全错过了您的htaccess,它位于博客
文件夹中。你可以试试我编辑过的答案。在重试之前,您必须清除浏览器的缓存,因为旧规则(不带blog
)现在已在缓存中。如果您想学习mod_rewrite
最好是在这里查看Apache官方文档,几乎在那里D现在它将我重定向到http://localhost:8080/blog/index.php/?url=my-第一篇文章/
我在博客目录中有.htaccess,我计划将博客放在页面的子目录中,这就是为什么。现在它可以工作了,谢谢!我会开始学习正则表达式和.htaccess,这取决于你。你有两种可能,这取决于你想做什么。选择最容易,实施最容易