htaccess为静态php文件

时间:2017-08-21 11:53:06

标签: php .htaccess mod-rewrite

我正努力让我的.htaccess文件在GoDaddy虚拟主机上正常运行。

我希望我的网址如下:

www.way360group.com/about-us/ - >关于-us.php www.way360group.com/latest-projects/ - >最新-projects.php

依旧......

这是我当前的.htaccess代码

numpy

我已经挖掘了许多不同的帖子,但无法解决问题。

提前致谢!

1 个答案:

答案 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中查看我的#个注释),稍后当您在一段时间后重新访问代码时,它将会有所帮助,因此您知道新的用户是什么你,对他们来说会容易得多。