首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess文件正在工作,但会导致不断刷新/重定向。

.htaccess文件正在工作,但会导致不断刷新/重定向。
EN

Stack Overflow用户
提问于 2019-10-07 16:04:19
回答 1查看 353关注 0票数 1

我已经根据教程更改了我的.htaccess,以隐藏.php文件扩展名和$_Get不受URL限制,但是页面一直在跳。

我已经尝试过一些.htaccess更改,这是唯一一个甚至部分工作的。然而,它似乎导致不断的重定向/刷新。

代码语言:javascript
复制
RewriteEngine on

RewriteBase /

RewriteCond %{HTTP:X-Forwarded-Proto} =http

RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}\.php -f

RewriteRule ^(.*)/([0-9a-zA-Z_-]+) $1.php?name=$2 [NC,L]

希望将"profile.php?name=company-name"更改为"profile/company-name",而不需要页面的外观或功能有任何不同。有些$_Get动态内容正在加载,但是整个页面继续跳过,而且没有一个CSS样式工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-07 16:46:07

将所有规则替换为:

代码语言:javascript
复制
RewriteEngine on    
RewriteBase /

RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP:Host}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/?$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/([\w-]+)/?$ $1.php?name=$2 [QSA,L]

请确保在新浏览器中测试此更改,以避免旧浏览器缓存。

对于您的css/js/ <head>,请在页面HTML的HTML标记下面添加以下内容:

代码语言:javascript
复制
<base href="/" />

因此,每个相对URL都是从该基本URL解析的,而不是从当前页面的URL解析的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58273253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档