我有以下网址:
http://somedomain.com/aa/search/search.php
我希望它返回2个选项,“aa”和“search / search.php”。
在Regex Coach的帮助下,我制作了以下正则表达式,这两个目标很好:
/([a-z]{2})/(.*)
然而,当我在我的htaccess文件中使用它们时,重写就不会发生:
Options +FollowSymlinks
RewriteEngine on
RewriteRule /([a-z]{2})/(.*) /$2?var=$1
有人能指出这个正则表达式新手朝着正确的方向吗?
编辑:
通过“不会发生”,我的意思是跟随网址:somedomain.com/aa/search.php给了我
“找不到/aa/search.php”
而不是
“找不到/search.php?var=aa”。
答案 0 :(得分:1)
这取决于您定义规则的位置。您的语法对于服务器(全局)配置文件是正确的。如果您使用.htaccess
文件,服务器将从URL中删除文件所在位置的路径。尝试
([a-z]{2})/(.*)
(即没有第一个斜线)