我写了这个短片的php代码,需要2个变量名和id,现在代码本身按预期工作,不是我的问题,问题是我想从'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。
提前致谢!
答案 0 :(得分:1)
将;0
部分或网址设为可选:
RewriteRule ^([a-zA-Z0-9]+)(?:;(.*))?$ index.php?name=$1&id=$2
或者像这样(如果以上在Apache中不起作用)
RewriteRule ^([a-zA-Z0-9]+)(;(.*))?$ index.php?name=$1&id=$3