.htaccess - html 站点的 htaccess 子文件夹
问题描述
我的 htaccess 代码无法正常工作。希望能得到一些帮助。除非我单击子文件夹页面中的链接,否则它工作得很好。这是我的代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
我删除了 .html 并添加了一个斜杠。
当我在其中一个子文件夹页面中单击链接时,它会生成一个奇怪的 URL。
示例:当我在 URL 时: http: //domainname.com/product/2-jars-500mg-hemp-extract-pain-relief-cream/
然后我点击链接:href = '/product/3-jars-500mg-full-spectrum-hemp-extract-pain-relief-cream'
它将链接重写为 /product/2-jars-500mg-hemp-extract-pain-relief-cream/3-jars-500mg-full-spectrum-hemp-extract-pain-relief-cream 导致 404 错误。
我目前在线在 public_html 文件夹中有一个 htaccess 文件
该站点通过 GoDaddy 托管在 apache 服务器上。
我尝试将相同的 htaccess 文件添加到产品文件夹中,但这会扰乱重写。
解决方案
规则看起来不错,在浏览器中检查您的 url 的源代码......也许它是相对的,并且在 uri 的开头或结尾没有斜线(例如 product/3-jars-500mg... 不是 /product/3-jars-500mg. ../)
您需要 href = '/product/3-jars-500mg-full-spectrum-hemp-extract-pain-relief-cream/' 才能证明该规则RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
是正确的。
推荐阅读
- vba - 在插入 Word 之前在纯文本中嵌入样式
- xcode - Clang 在 OSX 中找不到头文件,系统完整性使我无法移动它们。如何在 Big Sur 中链接它们?
- ruby-on-rails - 在 Rails 6.1 上使用咖啡加载器时出现“this.getOptions is not a function”错误
- reactjs - 我很难运行反应命令
- javascript - JavaScript 未完成 DOM 更新并移至下一个函数
- hadoop - Hdfs Datanode 拒绝与 namenode 通信
- python - 合并两个数据框时如何解决空数据框问题?
- javascript - What's the async for?
- azure - 在哪里构建 Microsoft Graph 电子邮件程序并将其部署到沙坑环境中?
- python - 我不明白这个循环,我死在里面