首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个不同页面的mod_rewrite

两个不同页面的mod_rewrite
EN

Stack Overflow用户
提问于 2011-07-04 04:11:21
回答 2查看 636关注 0票数 0

我有两页:

代码语言:javascript
复制
categories.php 

在categories.php页面中,我获取所有类别。

代码语言:javascript
复制
news.php

在新闻页面中,我通过id获取新闻。

我已经将mod_rewrite用于分类:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-/]+)$ categories.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+)/$ categories.php?url=$1

site/categori1 ----> this rule works for categorie page

是否可以打开两个不同的页面?(categories.php mod_rewrite news.php)

RewriteRule ^(a-zA-Z0-9-/+)$ news.php?url=$2 RewriteRule ^(a-zA-Z0-9-/+)/$ new.php?url=$2

站点/新闻-标题1以上规则不适用于news.php页面。

如何将mod_rewrite用于两个不同的页面?提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-04 04:21:37

您必须更具体地说明您的正则表达式所匹配的内容:

'^(a-zA-Z0-9-/+)$‘将匹配几乎所有内容。

您需要确定分类页面与新闻页面的不同之处,并进行匹配,例如:

代码语言:javascript
复制
RewriteRule ^category/([a-zA-Z0-9-/]+)$ categories.php?url=$1
RewriteRule ^category/([a-zA-Z0-9-/]+)/$ categories.php?url=$1
RewriteRule ^news/([a-zA-Z0-9-/]+)$ news.php?url=$1
RewriteRule ^news/([a-zA-Z0-9-/]+)/$ news.php?url=$1

您可以用其他方式区分规则,但您必须这样做。

例如,您可以重新排列我上面建议中的规则,使类别规则捕获不带新闻前缀的所有内容:

代码语言:javascript
复制
RewriteRule ^news/([a-zA-Z0-9-/]+)$ news.php?url=$1
RewriteRule ^news/([a-zA-Z0-9-/]+)/$ news.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+)$ categories.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+)/$ categories.php?url=$1
票数 3
EN

Stack Overflow用户

发布于 2011-07-04 04:28:05

www.site.com/news-title1www.site.com/category1基本上匹配相同的URL,因此mod_rewrite不能最终决定重定向到哪里。除了你已经拥有的东西之外,我还建议你做以下几点:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news-([a-zA-Z0-9-/]+)/?$ news.php?url=$1 [L,NC,QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/?$ categories.php?url=$1 [L,NC,QSA]

现在,类型为www.site.com/news-some-title的URI将被转发到www.site.com/news.php?url=some-title (任何以URI开头的URI

并且类型为www.site.com/some-category的URI将被转发到www.site.com/category.php?url=some-category

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6565274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档