我对.htaccess文件很新,可能是我错了。我一直在收集代码片段,试图完成我想要的工作。
这是我目前在文件中的内容
我读过这应该是你的.htaccess文件
Options +MultiViews
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
这是为了强制从HTTP重定向到HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
添加此项是为了删除所有文件末尾的.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
添加此选项是为了在按下主页链接时删除/ index的显示
RewriteCond %{THE_REQUEST} ^.*\/index?\ HTTP/
RewriteRule ^(.*)index\.php?$ "/$1" [R=301,L]
我在Google和其他网站上都尝试了很多想法。我没有幸运隐藏GET请求。 目前,网址看起来像https://mysite.ca/event?id=123 我希望它看起来像是https://mysite.ca/event/123
这是托管在Godaddy上,它只是一个普通的PHP网站,如果这有任何区别。
任何想法都会很棒!
答案 0 :(得分:1)
首先Options +MultiViews
已删除.php扩展程序,因此您不需要:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
关于您的问题请尝试以下规则:
RewriteRule ^event/([0-9]+)?$ event?id=$1 [NC]
哪个网址从example.com/event/<number>
更改为example.com/event?id=<number>
虽然,如果您的网站进行无限重定向,那么您应该将其更改为:
RewriteRule ^events/([0-9]+)?$ event?id=$1 [NC]
如果您有一些包含/标题重定向回事件并创建无限循环,则会发生这种情况。