作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,思考和创建一个新的网站,视频库风格,带有类别、模型、视频等。
我创建了脚本、页面、url 等,现在创建一个 url_rewriter 会很好,以简化和使 url 更加 SEO。
但我搞砸了,我越来越困惑。
这些是我网站的网址,以及我想转换它们的网址。
index.php
my-url.com
categories.php
my-url.com/categories/
category.php?category=category
my-url.com/category/
category.php?category=category&page=1
my-url.com/category/page-1/
category.php?category=category&sort=sort
my-url.com/category/sort/
category.php?category=category&page=1&sort=sort
my-url.com/category/page-1/sort/
my-url.com/models.php
my-url.com/models/
my-url.com/model.php?model=Model-Name
my-url.com/model/Model-Name
my-url.com/model.php?model=Model-Name&page=1
my-url.com/model/Model-Name/page-1/
my-url.com/model.php?model=Model-Name&sort=sort
my-url.com/model/Model-Name/sort/
my-url.com/model.php?model=Model-Name&page=1&sort=sort
my-url.com/model/Model-Name/page-1/sort/
my-url.com/videos.php
my-url.com/videos/
my-url.com/videos.php?page=1
my-url.com/videos/page-1/
my-url.com/videos.php?sort=sort
my-url.com/videos/sort/
my-url.com/videos.php?page=1&sort=sort
my-url.com/videos/page-1/sort/
my-url.com/video.php?title=video-title
my-url.com/video/video-title.html
RewriteRule ^([^/]+)\/$ category.php?category=$1 [NC,L]
RewriteRule ^([^/]+)/page-([^/]+)/$ category.php?category=$1&page=$2 [NC,L]
RewriteRule ^([^/]+)\/([^/]+)\/$ category.php?category=$1&sort=$2 [NC,L]
RewriteRule ^([^/]+)/page-([^/]+)/([^/]+)/$ category.php?category=$1&page=$2&sort=$3 [NC,L]
RewriteRule ^models/$ models.php
RewriteRule ^model/([[A-Za-z0-9_]]+)\/$ model.php?model=$1 [NC,L]
RewriteRule ^model/([^/]+)/page-([^/]+)\/$ model.php?model=$1&page=$2 [NC,L]
RewriteRule ^model/([^/]+)\/([^/]+)\/$ model.php?model=$1&sort=$2 [NC,L]
RewriteRule ^model/([^/]+)/page-([^/]+)/([^/]+)\/$ model.php?model=$1&page=$2&sort=$3 [NC,L]
RewriteRule ^videos/$ page.php
RewriteRule ^videos/page-([^/]+)\.html$ page.php?page=$1 [NC,L]
RewriteRule ^video/([^/]+)\.html$ out.php?id_photo=$1 [NC,L]
最佳答案
我在你的规则集中发现了一些错误,我在下面编辑了它们并总结了变化:
RewriteRule ^models\/$ models.php [NC,L]
RewriteRule ^model/([A-Za-z0-9_]+)\/$ model.php?model=$1 [NC,L]
RewriteRule ^model/([A-Za-z0-9_]+)\/page-([^/]+)\/$ model.php?model=$1&page=$2 [NC,L]
RewriteRule ^model/([A-Za-z0-9_]+)\/([^/]+)\/$ model.php?model=$1&sort=$2 [NC,L]
RewriteRule ^model/([A-Za-z0-9_]+)/page-([^/]+)/([^/]+)\/$ model.php?model=$1&page=$2&sort=$3 [NC,L]
RewriteRule ^videos\/$ page.php [NC,L]
RewriteRule ^videos\/page-([^/]+)\.html$ page.php?page=$1 [NC,L]
RewriteRule ^video/([^/]+)\.html$ index.php?id_photo=$1 [NC,L]
RewriteRule ^([^/]+)\/$ category.php?category=$1 [NC,L]
RewriteRule ^([^/]+)/page-([^/]+)/$ category.php?category=$1&page=$2 [NC,L]
RewriteRule ^([^/]+)\/([^/]+)\/$ category.php?category=$1&sort=$2 [NC,L]
RewriteRule ^([^/]+)/page-([^/]+)/([^/]+)/$ category.php?category=$1&page=$2&sort=$3 [NC,L]
model
将成为一个类别和model-name
将成为排序。要解决此问题,您必须从限制最多的规则开始,以限制最少的规则结束。当请求不是以模型或视频开始时,它最终会尝试在 category
中重写它。 . /
前 $ 与
(\/|)
关于apache - 搞砸了 url 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61741041/
我是一名优秀的程序员,十分优秀!