我在两个文件夹中安装了opencart - 一个是根文件夹,即'public_html /',一个是'public_html / test /'。两个opencart都包含.htaccess文件。
'public_html /'文件夹中opencart的.htaccess文件包含以下重写规则:
RewriteBase /
RewriteRule sitemap.xml /new/index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^abcd\.co\.in
RewriteRule (.*) http://www.abcd.co.in/$1 [R=301,L]
和'public_html / test /'文件夹中的opencart的.htaccess文件包含以下重写规则:
RewriteBase /test/
RewriteRule sitemap.xml /new/index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
问题是,当我打开域 http://abcd.co.in 时,它会重定向到 http://www.abcd.co.in ,但当我打开 http://abcd.co.in/test
时它没有重定向
我 http://www.abcd.co.in/test
答案 0 :(得分:1)
如果您点击了网址
http://abcd.co.in/test/
如果.htaccess
文件夹中有另一个public_html
文件,则.htaccess
根文件夹中的public_html/test/
文件不会被计入。您应该以这种方式扩展public_html/test/.htaccess
:
RewriteBase /test/
RewriteRule sitemap.xml /new/index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^abcd\.co\.in/test/
RewriteRule (.*) http://www.abcd.co.in/test/$1 [R=301,L]
这应该可以解决问题。
答案 1 :(得分:0)
您的重定向规则未应用。此外.htaccess
也应限于您关联的文件夹,请尝试这一点,我的头脑:
RewriteBase /test/
RewriteRule sitemap.xml /test/index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) /test/index.php?_route_=$1 [L,QSA]