这就是我想要做的事情:
http://www.mysite.com/ > http://www.mysite.com/index.php
http://www.mysite.com/asd > http://www.mysite.com/index.php?page=$1
asd
将是附加到index.php的$ page变量的页面的名称。
我当前的重写规则成功重定向请求的页面,但无法加载默认的index.php页面。
RewriteEngine On
RewriteRule ^([\w]*)$ /index.php?page=$1 [L]
我该如何解决这个问题? :/
答案 0 :(得分:1)
您需要有一个仅与/:
匹配的规则RewriteRule ^/$ /index.php [L]
然后你的另一个:
RewriteRule ^/([\w]+)$ /index.php?page=$1 [L]
答案 1 :(得分:1)
对于我的,我只是将整个路径传递到索引页面。
RewriteRule ^.*$ /index.php?page=$0 [L,QSA]
然后使用list()
和explode()
来填充它。
list( $param1, $param2, $param3 ) = explode( "/", $_GET['page'] );
否则,您将需要两个规则。
或者使用相同的规则并且/ page上有一个空的?page =参数。