easyphp .htaccess规则

Bub*_*son 7 windows .htaccess mod-rewrite easyphp

我需要在Windows 7上安装easyphp时重写规则.

我需要确保规则正确加载,我不必创建大量的规则.另外,当我将.htaccess复制到我的服务器(这是linux)时,我想确保它正常工作.

我没有这方面的经验,这是我发现挖掘互联网的原因:

RewriteRule (.*) index.php?s=$1
Run Code Online (Sandbox Code Playgroud)

现在,如果我有像'contact-us'这样的基本页面,那么它可以,但是如果我有子页面则没有.我该如何创建子文件夹?

谢谢

Boo*_*eus 11

这是你需要做的:

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]
Run Code Online (Sandbox Code Playgroud)

这将允许您拥有以下页面:

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
Run Code Online (Sandbox Code Playgroud)

/?意味着斜杠是可选的

[NC]这使得测试不区分大小写 - 在扩展的TestString和CondPattern中,忽略了'AZ'和'az'之间的差异.此标志仅对TestString和CondPattern之间的比较有效.它对文件系统和子请求检查没有影响.

[L] [L]标志使mod_rewrite停止处理规则集.在大多数情况下,这意味着如果规则匹配,则不会处理其他规则.

有关标志和规则的所有信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html