我目前正在处理mod_rewrite并遇到了一个绊脚石,我希望有人能够帮助
我的网站结构如此
https://www.abc.com/region1/
https://www.abc.com/region2/
https://www.abc.com/region3/
在每个文件夹中都有两个我称之为example1.php和example2.php的文件,两者都是动态的
关于example1.php,可能是example1.php?var1 = 1
关于example2.php,一种可能性可能是example2.php?var1 = 1& var2 = 1
我一直在尝试使用以下内容,但它抛出服务器500错误
RewriteEngine On
RewriteRule ^example1alias/ example1alias/([^/\.]+)/?$ example1.php?var1=$1 [L]
RewriteRule ^example1alias/ example1alias/?$ example1.php [L]
RewriteRule ^example2alias/ example2alias/([^/\.]+)/([^/\.]+)/?$ example2.php?var1=$1&var2=$2 [L]
包含此代码的.htaccess位于子文件夹本身,如果我正确理解mod_rewrite,^告诉规则从活动路径运行
有人能指出我做错了吗
一如既往,我们非常感谢任何建议
问候
百里
答案 0 :(得分:1)
大多数情况下,HTTP 500(用于htaccess)是针对htaccess文件中的语法错误。
对于重写规则,我认为语法是:RewriteRule Pattern Substitution [flags] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule)
您似乎有一个规则有多个模式,也许您可以尝试将它们分成两个不同的规则。
还在您的htaccess文件中添加“RewriteEngine On”和“Options FollowSymLinks”