我是新手,我真的需要帮助我正在创建一个使用opencart版本1.5.5.1&我已经尝试创建自己的htaccess文件,但它没有按照我的意愿去做。我已经尝试了很多来自这个站点的代码和我的主机sd,opencart不是为了这样做而构建的,我不相信。但他们可能是正确的,因为它不适合我。 我有一个很好的seo模块SEO Pack Pro已安装,但我认为它不会阻止htaccess文件中的更改。
主要问题是使用301重定向消除网址的重复,并获得www&的标题代码200。 301为非www。我很确定这是假设
的方式所以我需要的是从头开始创建一个新的htaccess文件:
所以再一次,将所有非www网址重定向到www网址,不仅仅是主页上有301重定向&我想确保在所有www网址后面都有一个斜杠。非www url导致被重定向后,我不需要斜杠? 还需要从index.php&amp ;;重定向主页。 index.htm,index.html到http://www.example.com/
每个目录后面还有一个斜杠&子目录,我认为我的网站下载3级子目录,现在我不在乎文件名后面是否有尾部斜杠,删除文件扩展名或文件名后没有斜杠 - 我已阅读参数在这两方面,我认为文件名有一个尾部斜杠并不重要。很抱歉这里的书,如果有人可以帮我解决这个问题? 谢谢, 妮可
答案 0 :(得分: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]
答案 1 :(得分: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]