我的网站正在将mywebsite.com/news
重定向到mywebsite.com/news.php
,但我不想要它
我需要它将mywebsite.com/news
重定向到mywebsite.com/index.php?param=news
我更改了我的.htaccess
文件,该文件可以正常使用其他单词,如下所示:
mywebsite.com/hello
重定向到:mywebsite.com/index.php?param=hello
我的根文件夹中有news.php
个文件,但我不希望mywebsite.com/news
重定向到mywebsite.com/news.php
我希望你明白我的意思...
这是我的.htaccess
文件:
Options -Indexes
# pass the default character set
AddDefaultCharset utf-8
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([\s\S]+)$ index.php?param=$1 [L,QSA,NC,NE]
我应该做些什么改变才能解决这个问题? 任何帮助,评论和建议都表示赞赏。
答案 0 :(得分:0)
将您的Options
行更改为:
Options +FollowSymLinks -MultiViews
MultiViews的效果如下:如果服务器收到了 请求/ some / dir / foo,如果/ some / dir启用了MultiViews,并且 / some / dir / foo不存在,然后服务器读取目录 寻找名为foo。*的文件,并有效地伪造一个类型地图 它命名所有这些文件,为它们分配相同的媒体类型和 如果客户要求其中一个,它将具有内容编码 他们的名字。然后它选择与客户的最佳匹配 要求。 https://httpd.apache.org/docs/current/content-negotiation.html
您还可以使用以下命令删除.php扩展名
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]