1

我目前正在掌握 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 ^ 告诉规则从活动路径运行

有人可以指出我做错了什么

一如既往,非常感谢任何建议

问候
巴里

4

1 回答 1

1

大多数情况下,HTTP 500(用于 htaccess)是针对 htaccess 文件中的语法错误。

对于重写规则,我相信语法是:RewriteRule Pattern Substitution [flags] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule)

您似乎对一条规则有不止一种模式,也许您可​​以尝试将它们分成两条不同的规则。

  • RewriteRule ^example2alias/example2.php [L]
  • RewriteRule ^example2alias/([^/.]+)/([^/.]+)/?$ example2.php?var1=$1&var2=$2 [L,QSA]

还将“RewriteEngine On”和“Options FollowSymLinks”添加到您的 htaccess 文件中

于 2012-06-25T20:24:04.173 回答