我想使用.htaccess和apache模块mod_rewrite来提供灵活和动态 URL处理。
例如:我想通过mod-rewrite将最多4个变量传递给php脚本。
http://www.myfantasticsite.com/Var1/Var2/Var3/Var4
实现这一点并不复杂:
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L]
但问题是:我想要一个动态且灵活的网址处理。这意味着 变量2(Var2),变量3(Var3)和变量4(Var4)是可选的。重定向也适用于这种网址:
http://www.myfantasticsite.com/Var1/Var2/Var3
http://www.myfantasticsite.com/Var1/Var2
http://www.myfantasticsite.com/Var1
但我自己还没有找到一种允许这种灵活处理的方法。我的所有尝试都以内部服务器错误结束。
答案 0 :(得分:0)
使用?
使其他网址部分可选。
RewriteRule ^([^/]+)(/([^/]+))?(/([^/]+))?(/([^/]+))?$ /index.php?var1=$1&var2=$3&var3=$5&var4=$7 [L]