0

我是新来的,我真的需要帮助我正在使用 opencart 版本 1.5.5.1 创建一个新站点,并且我尝试创建自己的 htaccess 文件,但它并没有做我想做的事情。我已经尝试了这个站点和我的主机 sd 中的很多代码,opencart 不是为此而构建的,我不相信。但他们可能是对的,因为它对我不起作用。我安装了一个很好的 seo 模块 SEO Pack Pro,但我认为它不会阻止 htaccess 文件中的更改。

主要问题是使用 301 重定向消除 url 的重复,并获得 www 的标头代码 200 和非 www 的 301 。我很确定它应该是这样的

所以我需要从头开始制作一个新的htaccess文件:

因此,再次将所有非 www url 重定向到 www url,而不仅仅是带有 301 重定向的主页,我想确保所有 www url 后面都有一个斜杠。非 www url 导致重定向后我不需要斜杠吗?还需要将主页从 index.php & index.htm、index.html 重定向到http://www.example.com/

在每个目录和子目录之后还有一个斜杠,我认为我的网站下降了 3 级子目录,现在我不在乎文件名后面是否有斜杠并删除文件扩展名或后面没有斜杠文件名 - 我已经阅读了两边的参数,我认为文件名有一个斜杠并不重要。很抱歉这里的书,如果有人能帮我解决这个问题吗?谢谢,妮可

4

2 回答 2

0

这个 .htaccess 应该会有所帮助。

RewriteEngine on
RewriteBase /

# redirect non-www urls
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

# redirect all home pages to / (root)
RewriteCond %{REQUEST_URI} ^/index\.(php|html?)
RewriteRule ^.*$ / [R=301,L]

# add trailing slash to dirs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ $1/ [R=301,L]
于 2013-05-16T02:10:46.497 回答
0

不要忘记为尾部斜杠添加请求方法。这是登录/丢失密码/注册所需要的。等我的 .htaccess 包含

# Add trailing slash to URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]
于 2015-04-06T22:14:18.397 回答