我正努力让我的.htaccess文件在GoDaddy虚拟主机上正常运行。
我希望我的网址如下:
www.way360group.com/about-us/ - >关于-us.php www.way360group.com/latest-projects/ - >最新-projects.php
依旧......
这是我当前的.htaccess代码
numpy
我已经挖掘了许多不同的帖子,但无法解决问题。
提前致谢!
答案 0 :(得分:0)
.htaccess中的定位非常重要。由于你有[L]标志,这标志着它是最后一个,所以如果你得到任何URL,它将重定向到https://并且作为[L]标志.htaccess将不会更进一步,因为规则是有效的,它会停在那里。
如果您使用[L]标志,请确保将这些规则放在最后,因此可以在该规则之前检查任何其他规则。
此外,您可能缺少规则的条件,因为您唯一的条件是HTTPS已关闭。
另一方面,你写的其他规则似乎没问题。
您还可以查看此网站以获取更多信息here
以下是我使用的.htaccess'之一的示例
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# force ssl
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
# Redirect from http://www to http://
RewriteEngine On
RewriteBase /
RewriteCond ${HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
希望能够清楚一点(我之前在帖子中谈论的内容)。此外,当您编写代码时,请尝试留下评论(您可以在.htaccess中查看我的#个注释),稍后当您在一段时间后重新访问代码时,它将会有所帮助,因此您知道新的用户是什么你,对他们来说会容易得多。