htmlsite的htaccess子文件夹

时间:2019-07-05 19:55:26

标签: .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。

示例:当我访问以下网址时: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文件添加到产品文件夹中,但这使重写变得混乱。

1 个答案:

答案 0 :(得分:0)

规则看起来不错,请在浏览器中检查源代码的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是正确的。