微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重写子文件夹的规则?

如何解决如何重写子文件夹的规则?

我对htaccess中的简单重写规则有疑问...

我的htaccess是这样的:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteRule ^company$                              /company.PHP?lang=en [QSA]
RewriteRule ^company/about$                        /article.PHP?lang=en [QSA]

在本地有效。 但是在线无法正常工作。 如果我转到URL“ www.com/company/about”,则有company.PHP页面... 你能告诉我我的问题是什么吗? 非常感谢

解决方法

具有这种方式:

Options -MultiViews
RewriteEngine On
RewriteBase /

## Unless directory,remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/+$
RewriteRule ^ %1 [R=301,NE,L]

RewriteRule ^company$ company.php?lang=en [L,NC,QSA]

RewriteRule ^company/about$ article.php?lang=en [L,QSA,NC]

重要更改正在禁用选项MultiViewsMultiViews使用选项Apache's content negotiation module(请参阅http://httpd.apache.org/docs/2.4/content-negotiation.html)来运行{strong>之前 mod_rewrite,并使Apache服务器匹配文件扩展名的/file。因此,如果/file.php是URL,那么Apache将提供L(如果系统中存在)。

我还在您的2条规则中添加了NC(最后一个)和//..getIdByEmail.js const getIdByEmail = email => { return new Promise((resolve,reject) => { db.collection('Clients').get().then(data => { data.docs.map(doc => { const d = doc.data(); if (d.email === email) resolve(doc.id); }); reject("no email"); }); }); } //..Login Page const signIn = async(props) => { const ID = await getIdByEmail(Email).catch(err=>{ if(err=="no email"){ console.log("no email") }else{ console.err(e); } }) (忽略大小写)标志。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。