htaccess 重定向循环,如果文件不存在
htaccess redirect loop if file does not exist
我确信这有一个简单的解决方案,但我遇到了困难。我正在尝试使用 htaccess 从查询字符串变量重定向到一个 html 页面,并将该变量作为文件名。
示例:DOMAIN_NAME/pages/44 将重定向到 DOMAIN_NAME/pages/44。html
除非文件不存在,否则这工作正常。如果文件不存在,我会得到这样的结果。
示例:DOMAIN_NAME/pages/45 结果为 DOMAIN_NAME/pages/45。html.html.html.html.html 依此类推,直到浏览器停止循环。
下面是我的 htaccess 代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^pages/([^/]+)/?$ /pages/.html [R,L]
如有任何帮助,我们将不胜感激。
尝试将此条件添加到您的规则中:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/.html -f
RewriteRule ^pages/([^/]+)/?$ /pages/.html [R,L]
我确信这有一个简单的解决方案,但我遇到了困难。我正在尝试使用 htaccess 从查询字符串变量重定向到一个 html 页面,并将该变量作为文件名。
示例:DOMAIN_NAME/pages/44 将重定向到 DOMAIN_NAME/pages/44。html
除非文件不存在,否则这工作正常。如果文件不存在,我会得到这样的结果。
示例:DOMAIN_NAME/pages/45 结果为 DOMAIN_NAME/pages/45。html.html.html.html.html 依此类推,直到浏览器停止循环。
下面是我的 htaccess 代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^pages/([^/]+)/?$ /pages/.html [R,L]
如有任何帮助,我们将不胜感激。
尝试将此条件添加到您的规则中:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/pages/.html -f
RewriteRule ^pages/([^/]+)/?$ /pages/.html [R,L]