2

我已经编写了这段需要 2 个变量名称和 id 的简短 php 代码,现在代码本身可以按预期工作,这不是我的问题,问题是我想从“http://”缩短到该文件的链接www.mypage.org/folder/index.php?name=name&id=0' 到 'http://www.mypage.org/folder/name;0',像这样:

RewriteRule ^([a-zA-Z0-9]+);(.*)$ index.php?name=$1&id=$2

但是,如果有人输入了一个没有“;”的链接,例如“http://www.mypage.org/folder/name” 分隔符他们得到一个 404 页面。

有没有办法编写一种 if 语句来检查没有“;”的链接?

php 页面可以通过默认为“0”以及缺少名称来处理缺少的 id。

提前致谢!

4

1 回答 1

1

使;0部分或 URL 可选:

RewriteRule ^([a-zA-Z0-9]+)(?:;(.*))?$ index.php?name=$1&id=$2

或像这样(如果上述方法在 Apache 中不起作用)

RewriteRule ^([a-zA-Z0-9]+)(;(.*))?$ index.php?name=$1&id=$3
于 2012-06-14T10:52:56.610 回答