mod_rewrite,如何正确重写链接

沙里科夫·弗拉迪斯拉夫

我正在尝试重写我网站上的链接。重写,我想重写后看到什么前可能存在的联系:
/index.pl?mode=users&action=add- /users/add/
/index.pl?mode=streets&action=edit&id=7- /streets/edit/7
/index.pl?mode=users&action=info&id=7-/users/info/7
等等

.htaccess内容:

RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(jpe?g|gif|bmp|png|tiff|css|js)$ [NC]
RewriteRule ^([A-Za-z0-9-]+)/((edit|delete|info))/([0-9]+)$ index.pl?mode=$1&action=$2&id=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)/((add))/?$ index.pl?mode=$1&action=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.pl?mode=$1 [L] 

/users/add//street/add/工作正常,但是...

问题:
/users/edit/xx-我无法在perl脚本中接受ID。为什么?
/users/info/xx-我什至无法进入信息部分/?mode=users&action=info&id=7页面(它必须显示具有错误ID

Btw的空白表...我的网站具有“ switch”结构。我的意思是,如果mode是users,那么它将加载“ users.pl”,如果关于第二个问题-确保我在users.pl上有信息部分,并且链接/?mode=users&action=info&id=7正常运行。

ps:添加了php-tag,因为它不是'perl'问题,但是php等同于perl,因此php-followers也可以帮助我
pps:对不起,我的英语不好。

林俊

您有太多的括号,这会使您的反向引用一一对应:

RewriteRule ^([A-Za-z0-9-]+)/(edit|delete|info)/([0-9]+)$ index.pl?mode=$1&action=$2&id=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)/(add)/?$ index.pl?mode=$1&action=$2 [L]

这两个规则在((edit|delete|info))周围有太多括号((add))(尽管$ 2正确地反向引用了它,但“ add”并没有受到影响)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在mod_rewrite中重写出站链接?

来自分类Dev

如何更改已使用mod_rewrite重写的URL

来自分类Dev

如何使用htaccess / mod_rewrite重写此URL?

来自分类Dev

如何使用apache mod_rewrite重写整个目录?

来自分类Dev

mod_rewrite显示重写的URL

来自分类Dev

Mod_Rewrite:相互冲突的重写规则

来自分类Dev

mod_rewrite保持递归重写

来自分类Dev

使用mod_rewrite重写网址

来自分类Dev

Mod_Rewrite不重写URL

来自分类Dev

URL重写(路由),mod_rewrite或PHP

来自分类Dev

如何正确使用mod_rewrite重定向seo url?

来自分类Dev

mod_rewrite:将现有文件重写为友好链接

来自分类Dev

mod_rewrite限制对除索引+重写链接之外的所有文件的访问权限

来自分类Dev

如何设置mod_rewrite?

来自分类Dev

如何启用mod_rewrite?

来自分类Dev

mod_rewrite RewriteRule和html链接

来自分类Dev

.htaccess mod_rewrite 更改链接 URL

来自分类Dev

mod_rewrite无法正确映射网址

来自分类Dev

mod_rewrite的语法正确吗?

来自分类Dev

Mod_rewrite无法正确重定向

来自分类Dev

使用mod_rewrite的正确方法

来自分类Dev

如何使用mod_rewrite将子域重写为包含子域名的路径?

来自分类Dev

使用mod_rewrite重定向后如何停止URL重写?

来自分类Dev

Apache2:使用循环重写的mod_rewrite

来自分类Dev

重写mod_rewrite的规则以模仿虚拟目录

来自分类Dev

mod_rewrite生成器不重写URL

来自分类Dev

Apache2:使用循环重写的mod_rewrite

来自分类Dev

使用mod_rewrite重写带有斜杠的get参数

来自分类Dev

具有查询ID的mod_rewrite的重写规则