Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess重定向到子文件夹有时会起作用_.htaccess_Redirect - Fatal编程技术网

.htaccess重定向到子文件夹有时会起作用

.htaccess重定向到子文件夹有时会起作用,.htaccess,redirect,.htaccess,Redirect,我有一个从HostGator上托管的子目录运行的站点。除一个目录外,大多数htaccess规则都可以重定向到子目录 如果我转到example.com/products-我会看到一个不可见的重定向到example.com/subfolder/products-它在地址栏中正确显示为example.com/products 但是,如果我转到example.com/news-我会看到一个指向example.com/subfolder/news的可见重定向-它在地址栏中错误地显示为example.com

我有一个从HostGator上托管的子目录运行的站点。除一个目录外,大多数htaccess规则都可以重定向到子目录

如果我转到example.com/products-我会看到一个不可见的重定向到example.com/subfolder/products-它在地址栏中正确显示为example.com/products

但是,如果我转到example.com/news-我会看到一个指向example.com/subfolder/news的可见重定向-它在地址栏中错误地显示为example.com/subfolder/news

以下是我在根文件夹中使用的.htaccess代码:

RewriteEngine on
RewriteRule ^$ /subfolder/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1 [L]
仅供参考:如果我在浏览器中键入example.com/news,我会被明显重定向到example.com/subfolder/news-但是如果我第二次在浏览器中键入example.com/news,我会被不可见地重定向

谷歌已经对该网站进行了爬网,并提供了可见的重定向URL(因此它们在谷歌中显示为example.com/subfolder/news)

更新:

在该
.htaccess
文件中,我仅有的另一行
选项-索引

子文件夹
.htaccess
文件中,我还有

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

ErrorDocument 403 http://www.example.com/403
ErrorDocument 404 http://www.example.com/404
ErrorDocument 500 http://www.example.com/500

如果这与HostGator有什么关系的话,我支持它?

听起来像是您的
。htaccess
偶尔会提供
301
重定向服务。您的
.htaccess
或其他
.htaccess
文件中是否有可能导致此问题的其他代码?请尝试清除浏览器缓存。您的任何代码都不会创建重定向,因此可能是以前的一些代码生成的重定向,被缓存。Scott,我和一个朋友聊天,他建议这可能是一个尾部斜杠问题。在添加了尾随斜杠后,URL的输入在100%的时间内都有效,但我担心没有尾随斜杠,Google etc会失败。我能做些什么吗?听起来你的
.htaccess
偶尔会提供
301
重定向服务。您的
.htaccess
或其他
.htaccess
文件中是否有可能导致此问题的其他代码?请尝试清除浏览器缓存。您的任何代码都不会创建重定向,因此可能是以前的一些代码生成的重定向,被缓存。Scott,我和一个朋友聊天,他建议这可能是一个尾部斜杠问题。在添加了尾随斜杠后,URL的输入在100%的时间内都有效,但我担心没有尾随斜杠,Google etc会失败。对此我能做些什么吗?