.htaccess - .htaccess 中的多个连字符处理(URL 重写)
问题描述
我有 URL 重写的问题。我在 .htaccess 文件中编写了以下规则
RewriteRule ^c-([^/]*)-([^/]*)/$ cat.php?id=$1&slug=$2
它给了我这样的 URL:http://localhost/actuco/c-628Y8x-france/(具有类别的 ID 及其 slug)。此 URL 完美运行。
但是,当我输入这个 URL 时:http://localhost/actuco/c-xpS3cc-amerique-du-nord/ 它不再起作用了。问题的原因一定是后一个 slug 包含几个连字符(amerique-du-nord),而第一个(法国)根本不包含连字符(我尝试了所有包含多个连字符的 slug 类别)。
请问有谁知道如何解决这个问题?
这是我完整的 .htaccess 代码
Options +FollowSymlinks
RewriteEngine On
RewriteBase /actuco/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} /+[^\.]+$
#RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ article.php?lng=$1&yr=$2&mo=$3&dy=$4&slug=$5&total_slug=$6
#RewriteRule ^([^/]*)-([^/]*)-([^/]*)$ waluty.php?cur=$1&amt=$2&lang=$3
RewriteRule ^c-([^/]*)-([^/]*)/$ cat.php?id=$1&slug=$2
RewriteRule ^([^/]*)/([^/]*)/$ url.php?mode=$1&u=$2
RewriteRule ^bio$ o.php [L]
提前致谢 !
解决方案
你可以试试:
RewriteRule ^c\-([\w]+)\-([\w-]+)\/$ cat.php?id=$1&slug=$2
推荐阅读
- wordpress - wordpress 帮助 - 未定义的函数
- python - 在sqlalchemy中过滤连接表时如何仅访问过滤的对象
- jquery - JQUERY UI自动完成,最后一个字改变颜色
- prometheus - 如何在普罗米修斯的图表中只显示增加
- python - 无法将包“eventstudy”安装到 Python 中 - 有什么想法吗?
- webpack - 为什么 Tailwind 中的 Purge 选项不能与 Webpack 一起使用
- r - 嵌套 lapply 以从嵌套文件结构中读取表 - R
- windows-community-toolkit - 在 Xamarin.Forms 中使用 ImageCropper 工具
- nginx - NGINX:使用 MAP 模块将 GET 参数转发到 proxy_pass
- python - 我们如何使用python从HTML文件中提取数据