htaccess 简单重写规则不起作用
htaccess simple rewrite rule doesn't work
我从来没有重写过规则,我在 google 尝试并找到的所有内容都不起作用。尤其是创建多个重写规则对我来说很难,因为我不知道正确的语法是怎样的以及正确的实现是什么样的(1 个重写条件或多个类似的问题)。
因此,我很乐意为接下来的尝试得到一个结果:
https://www.domain.com/our_accounts.php -> https://www.domain.com/accounts
http -> https 规则已经生效。也许我的重写规则也有问题,因为我可能需要在我的 https 规则之前添加它们??希望大家能帮帮我。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Rules for readable URLs
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ / [R=301,L]
RewriteRule ^accounts$ /our_accounts.php [L]
</IfModule>
以这种方式尝试你的 htaccess 文件。我还将 HTTP 和 www 压缩为一个重写规则。只需将 yoursite.com
替换为您的真实站点即可。
<IfModule mod_rewrite.c>
RewriteEngine On
# First rewrite to HTTPS and redirect www:
RewriteCond %{HTTPS} !^on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.yoursite.com/ [L,R=301]
RewriteRule ^our_accounts.php$ /accounts [R=301,L]
# Rules for readable URLs
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ / [R=301,L]
</IfModule>
我从来没有重写过规则,我在 google 尝试并找到的所有内容都不起作用。尤其是创建多个重写规则对我来说很难,因为我不知道正确的语法是怎样的以及正确的实现是什么样的(1 个重写条件或多个类似的问题)。
因此,我很乐意为接下来的尝试得到一个结果:
https://www.domain.com/our_accounts.php -> https://www.domain.com/accounts
http -> https 规则已经生效。也许我的重写规则也有问题,因为我可能需要在我的 https 规则之前添加它们??希望大家能帮帮我。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Rules for readable URLs
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ / [R=301,L]
RewriteRule ^accounts$ /our_accounts.php [L]
</IfModule>
以这种方式尝试你的 htaccess 文件。我还将 HTTP 和 www 压缩为一个重写规则。只需将 yoursite.com
替换为您的真实站点即可。
<IfModule mod_rewrite.c>
RewriteEngine On
# First rewrite to HTTPS and redirect www:
RewriteCond %{HTTPS} !^on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.yoursite.com/ [L,R=301]
RewriteRule ^our_accounts.php$ /accounts [R=301,L]
# Rules for readable URLs
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ / [R=301,L]
</IfModule>