URL-Rewriting / Anything / Variable detail.php?pid = variable

时间:2013-10-09 15:23:34

标签: regex apache .htaccess mod-rewrite search-engine

O /

我正在尝试重写我的网址。

如果我要去:http://mydomain.com/vakanties/Verenigde%20Staten/Orlando/E6220

它应该被解析为:http://mydomain.com/detail.php?pid=E6220

但是,X应该可以是任意字,包括空格和特殊字符

http://mydomain.com/vakanties/ X / X / Y

到目前为止,我尝试过的所有东西都让我产生了404。激活模块并启动发动机。这些是我尝试过的规则:

RewriteRule ^vakanties/[\w +]/[\w +]/([\w]*) detail.php?pid=$1
RewriteRule ^vakanties/[A-Za-z0-9-]+/[A-Za-z0-9-]+/([A-Za-z0-9-]+) detail.php?pid=$1
RewriteRule ^vakanties/[a-zA-Z0-9%+]/[a-zA-Z0-9%+]/([a-zA-Z0-9%+]*)$ detail.php?pid=$1
RewriteRule ^vakanties/[\w\ +]/[\w\ +]/([\w]*) detail.php?pid=$1
RewriteRule ^vakanties/[\w\ +]/[\w\ +]/([\w]*)$ detail.php?pid=$1

任何帮助,链接,建议或提示都会受到很大关注。

提前致谢!

1 个答案:

答案 0 :(得分:0)

而不是[\w +]使用像[^/]+这样的否定正则表达式:

RewriteRule ^vakanties/[^/]+/[^/]+/([^/]+)/?$ detail.php?pid=$1 [L,QSA]