Nic*_*ick 2 mod-rewrite apache-2.2
如何创建仅匹配没有查询字符串的请求的重写规则?
http://www.mysite.com/index.php
Run Code Online (Sandbox Code Playgroud)
应该重新映射到:
http://www.mysite.com/
Run Code Online (Sandbox Code Playgroud)
但
http://www.mysite.com/index.php?page=some_page
Run Code Online (Sandbox Code Playgroud)
应该单独留下。
我正在尝试这个:
RewriteRule ^/index.php$ http://www.mysite.com/ [R=301,L]
Run Code Online (Sandbox Code Playgroud)
...但它匹配任何以 /index.php 开头的内容,即使我已经明确地用美元符号结束了模式。
更新:
在此之前的唯一规则是:
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^/(.*) http://www.mysite.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
目的是将非 www 链接重定向到 www 版本。
此处第一组规则上的 [L] 标志:
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^/(.*) http://www.mysite.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
L
意味着 Last -- Apache 将在达到此迭代时停止处理此迭代规则。
取下L
标志,你应该没事。
归档时间: |
|
查看次数: |
6677 次 |
最近记录: |