我需要重写我在windows7上安装的easyphp的规则。
我需要确保规则被正确加载,并且我不必创建大量的规则。此外,当我将.htaccess复制到我的服务器(即linux)时,我希望确保它能正常工作。
我没有这方面的经验,这是我在互联网上发现的:
RewriteRule (.*) index.php?s=$1现在,如果我有像‘联系我们’这样的基本页面,这是可以的,但如果我有子页面,它没有。如何创建子文件夹?
谢谢
发布于 2012-01-05 10:35:51
下面是你需要做的:
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main=$1 [NC,L]
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=$1&sub=$2 [NC,L]这将允许您拥有类似以下内容的页面:
http://www.domain.com/mainpage/ or
http://www.domain.com/mainpage or
http://www.domain.com/mainpage/subpage/ or
http://www.domain.com/mainpage/subpage/?表示斜杠是可选的
NC这使得测试不区分大小写-在扩展的TestString和CondPattern中都忽略了'A-Z‘和'a-z’之间的差异。此标志仅对TestString和CondPattern之间的比较有效。它对文件系统和子请求检查没有影响。
L L标志使mod_rewrite停止处理规则集。在大多数上下文中,这意味着如果规则匹配,则不会再处理其他规则。
有关标志和规则的所有信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html
https://stackoverflow.com/questions/8736909
复制相似问题