微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Url重写mod_rewrite

我有这样的url:

page.com/content.PHP?xname=p&yname=q&zid=1

我想用apache mod_rewrite将这个url重写成如下所示:

page.com/p/q/

请注意,重命名的url中不应该有“zid”参数。 我知道expression式作为GET传递到原始url。 有没有可能重新如上所述。 如果是的话,如何做到这一点?

根据urlpath更改域

mod_rewrite – 添加www

尾随斜杠导致错误代码500

迁移:Kohana .htaccess到Nginx

recursionmod_rewritesearch引擎友好的url

存在Htaccess反向查找目录树脚本

我怎么能redirect到一个目录中的所有文件到另一个目录?

如何停止使用htaccess规则直接执行的PHP页面

htaccess的帮助,需要强制www,https,并删除index.PHP

如何让Linux服务器中的URL不区分大小写

这个对我来说工作的很好,并会重写/p/q/到/content.PHP?xname=p&yname=q&zid=1 。

Options +FollowSymLinks -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)/$ content.PHP?xname=$1&yname=$2&zid=1 [QSA,L]

该规则将被放置在网站根文件夹的.htaccess中。 如果放置在其他地方可能需要一些小的调整。

它不会重写,如果请求的URL是一个真实的文件文件夹(我确定你不想重写图像或其他页面 – 我不得不添加这样的条件,因为我不知道你的网站结构是什么)。

RewriteRule ^content.PHP?xname=(p)&yname=(q)&zid=1$ /$1/$2 [R]

您可以尝试像[a-Z0-9 _-] +这样的表达式来匹配标识符,而不是使用p和q。

这里有一个在线测试工具: http : //civilolydnad.se/projects/rewriterule/

RewriteEngine On RewriteRule ^/[a-z0-9]+/[a-z0-9]+/$ content.PHP?xname=$1&yname=$2 [L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐