我很难为我的域设置正确的 mod_rewrite 规则。我从来都不擅长正则表达式,但我只是无法为自己使用每个文档化的教程。
域: example.org
我目前的规则是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/?$ /?page=$1
这有点工作(因为我可以通过将斜线从页面中剥离来获得“名称”变量。但我确信这样做有更好的和边缘切割的方式。
所需的 mod_rewrite 行为:
- example.org -> index.php?子= (空)
- 子域.example.org -> index.php?sub=子域
- subdomain.example.org/ something -> index.php?sub=subdomain& page=something
- subdomain.example.org/ something/ -> index.php?sub=subdomain& page=something
- subdomain.example.org/something/额外-> index.php?sub=subdomain&page=something* &name=extra *
- subdomain.example.org/something/extra/ -> index.php?sub=subdomain&page=something* &name= extra *
- www 从 URL 中排除(www.subdomain -> subdomain)
(注意斜线)
由于“子域”部分是服务器 (*.example.org) 上的通配符,我还想从规则中排除一些名称。例如:“content.example.org”不应被重写,而应引用普通文件夹。
有人可以帮我解决规则代码吗?:-)
问候, 安德鲁