0

我在两个文件夹中安装了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

4

2 回答 2

1

如果您点击网址

http://abcd.co.in/test/

如果.htaccess文件夹中有另一个文件,public_html则不考虑根文件夹中的文件。您应该以这种方式扩展:.htaccesspublic_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]

这应该可以解决问题。

于 2013-01-17T11:48:02.877 回答
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]
于 2013-01-17T09:12:54.383 回答