如何解决当我想在本地主机上工作时,Htaccess 指向在线
我将我的本地主机服务器 Apache 更改为 XAMPP。之后,我的项目开始转到在线站点 yusufcode.com(我的网站链接),而我想在本地主机上工作。问题出在哪儿?这是第一个问题。
我的第二个问题是我的链接在本地主机上没有 .PHP 扩展名时不起作用。
访问:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.PHP -f
RewriteRule ^(.*)$ $1.PHP
RewriteRule ^([a-z]+)\/?$ $1.PHP [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yusufcode.com/$1 [R,L]
解决方法
哦...我发现了问题。问题是本地主机端口号。
我更改了端口号:
RewriteCond %{SERVER_PORT} 80
为此:
RewriteCond %{SERVER_PORT} 443
所有问题都解决了。再次感谢stackoverflow。这个平台总是帮助我,即使没有人回答:)
,你应该这样写:
Options -MultiViews
RewriteEngine on
# Redirect to HTTPS (and www) but only on "live" site
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(?:www\.)?(yusufcode\.com) [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]
# Handle extensionless .php files
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
处理 PHP 无扩展 URL 的原始指令存在许多问题……第二个 RewriteRule
无条件运行。文件检查可能正在测试与请求的文件不同的文件。
更新:这当然假设在本地 Apache 服务器上的服务器配置中启用了 .htaccess
覆盖。这不是 Apache 2.4 的默认设置。使用 .htaccess
指令启用 AllowOverride
覆盖。
例如,在你的服务器配置中你需要这样的东西:
<Directory /path/to/document-root/>
# Allow access
Require all granted
# Allow all htaccess overrides
AllowOverride All
</Directory>
默认值为 AllowOverride None
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。