目前,我的单页网址如下所示:
http://website.com/post/6268/some-post-title
使用PHP生成帖子编号和标题。我想要做的是从URL中删除以下部分:
/post/6268/
所以它看起来像这样:
http://website.com/some-post-title
我尝试做的是将以下行添加到.htaccess文件中,但它不起作用:
RewriteRule ^post/(.*)/(.*)$ /$1
我在这里回顾了很多问题,以及我发现的其他一些论坛主题,但我无法找到解决方案。
.htaccess文件中的行实际上表明:
RewriteRule ^post/(.*)/(.*)$ view.php?pid=$1
答案 0 :(得分:0)
“删除部分网址”完全不明确。你是否希望这样做,以便浏览器永远不会在他们的URL地址栏中看到这个,尽管他们在中输入你要删除的目录?您是否只想删除带有删除字词的较短网址,并在内部将其添加回,以便URL指向的现有资源可以为内容提供服务,或者是否存在错误的网址浮动您需要在服务器内部删除URL中的额外目录,以便正确的资源(没有目录)可以提供内容吗?
如果是前者,那么你就是在正确的轨道上:
RewriteRule ^post/[0-9]+/(.+)$ /$1 [L,R=301]
最后,你只需要从方括号中删除R=301
标志。但是对于第二件事,你从网址中放弃6268
,当服务器看到/some-post-title
的请求时,它不知道该帖子ID应该是什么。