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

.htaccess 如何使用参数重定向到 index.html 但参数值与文件夹名称相同

如何解决.htaccess 如何使用参数重定向到 index.html 但参数值与文件夹名称相同

路由 url 就像 'my_website/:param'

但我的位置包含的文件名称与参数相同。 所以当我浏览 http://my_website/apple 时。 浏览器将显示文件夹,而不是将值 'apple' 传递给网络。

我应该如何设置 .htaccess?谢谢 以下仅当具有相同值的文件夹不存在时才有效。

<ifModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d

  RewriteRule ^.*$ - [NC,L]
  RewriteRule ^(.*) index.html [NC,L]
</ifModule>

解决方法

根据您显示的示例,您能否尝试以下操作。请先清除浏览器缓存,然后再测试您的网址。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.html [L]

或者,如果您只查找以 apple 开头的链接,请尝试关注。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^apple index.html [NC,L]

OP 尝试过的代码中的问题: RewriteRule ^(.*) index.html [NC,L] 将创建一个循环,因为没有提到条件,因此对于每个 uri 每次都为真。

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