如何解决使用htaccess删除网址末尾的ID
我在删除网址末尾的ID时遇到了一些麻烦。 使用以下代码片段可以正常工作,但是随后无法正确加载css和js等所有资产。
原始网址: http://mywebsite.com/poker-in-englisch/150/1448/98480
应为网址: http://mywebsite.com/poker-in-englisch/
这是我的摘录:
RewriteEngine on
RewriteRule ^((?!([0-9]{3})\/([0-9]{4})\/([0-9]{5})).)*/ $1 [L,R=301]
由于ID始终为3个数字/ 4个数字/ 5个数字,因此我尝试通过负查找来捕获所有内容并将其删除。不幸的是,后来没有CSS或JS都能正常工作...而且我的页面看上去有些混乱。
任何帮助或提示表示赞赏
解决方法
能否请您尝试以下。只需检查条件(如果是),则REQUEST_FILENAME是否不是本地系统中的文件或目录,然后重写规则。在RewriteRule
的正则表达式的第一个捕获组中,捕获组1中/
第一次出现之前的所有内容,然后根据问题提及数字3 4和5。在通过提及$1
进行url重写的替换部分时,它将uri重写为第一个捕获的部分。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/\d{3}/\d{4}/\d{5}/?$ /$1 [L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。