除了root之外的所有内容的Apache mod_rewrite

除了root之外的所有内容的Apache mod_rewrite,第1张

概述您好我正在尝试编写mod_rewrite规则来重定向除根文件夹之外的所有内容. 例如,www.example.com应加载index.html文件 对于其他一切,例如www.example.com/tag,/ tag应该传递给子目录中的脚本 现在我有 RewriteCond %{REQUEST_URI} !^/RewriteCond %{REQUEST_FILENAME} !-fRewrite 您好我正在尝试编写mod_rewrite规则来重定向除根文件夹之外的所有内容.
例如,www.example.com应加载index.HTML文件
对于其他一切,例如www.example.com/tag,/ tag应该传递给子目录中的脚本

现在我有

RewriteCond %{REQUEST_URI} !^/RewriteCond %{REQUEST_filename} !-fRewriteCond %{REQUEST_filename} !-dRewriteRule (.*) app/webroot/ [L]

并且这会加载index.HTML,但/ tag不会传递给webroot.我收到404错误.

谢谢

解决方法 这个条件是问题所在:
RewriteCond %{REQUEST_URI} !^/

你说任何以’/’开头的东西都不会被重写,而且一切都以’/’开头.你需要在最后使用$:

RewriteCond %{REQUEST_URI} !^/$

但是,我不确定你是否需要这个规则,因为如果index.HTML存在,另外两个规则将自动处理.只需使用这些来重写任何不存在的东西:

RewriteCond %{REQUEST_filename} !-fRewriteCond %{REQUEST_filename} !-dRewriteRule ^(.*)$app/webroot/ [L,QSA]

并且您可以在应用中处理404错误,因为无论如何您必须为子目录.

总结

以上是内存溢出为你收集整理的除了root之外的所有内容的Apache mod_rewrite全部内容,希望文章能够帮你解决除了root之外的所有内容的Apache mod_rewrite所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1049638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存