.htaccess重定向到子文件夹有时会起作用
我有一个从HostGator上托管的子目录运行的站点。除一个目录外,大多数htaccess规则都可以重定向到子目录 如果我转到example.com/products-我会看到一个不可见的重定向到example.com/subfolder/products-它在地址栏中正确显示为example.com/products 但是,如果我转到example.com/news-我会看到一个指向example.com/subfolder/news的可见重定向-它在地址栏中错误地显示为example.com/subfolder/news 以下是我在根文件夹中使用的.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
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会失败。对此我能做些什么吗?