我需要指向这样的网址
http://example.com/subdir1
http://example.com/subdir2
到同一目录
/var/www/vhosts/example.com/httpdocs/default/
在 Linux 主机上(Ubuntu 16.04,Apache2) - 请问该怎么做?也许可以使用 .httaccess 解决?如果不行,还有其他选择吗?
答案1
假设 Web 根目录位于 下/var/www/vhosts/example.com/httpdocs/
,并且您需要将任何子目录重定向到“默认”子目录,那么您将需要一个如下所示的 .htaccess 规则:
RewriteRule ^subdir.*$ /default/$1 [R=301,NC,L]
您可以在如下网站上测试您的 htaccess 规则:http://htaccess.mwl.be/
该站点正在做的是检查您在 RewriteRule 的第一个块上提供的正则表达式,然后将匹配的结果重定向到您想要的路径。
请记住,上述规则可能并不总是有效,这取决于您的 apache 配置。
您可以通过在以下网站上测试表达式来尝试不同的正则表达式https://regex101.com/
另一个学习正则表达式的好地方是https://www.regular-expressions.info/