Php 删除url中的斜杠(非尾随斜杠)
我的服务器上有一个名为people的文件夹,该文件夹中有index.php 我的url类似于mydomain.com/people/?name=value1&age=value2 但是我真的希望它看起来像mydomain.com/people?name=value1&age=value2因为“people”是一个文件夹,而您的脚本就在这个文件夹中,所以只有关闭Php 删除url中的斜杠(非尾随斜杠),php,.htaccess,url,Php,.htaccess,Url,我的服务器上有一个名为people的文件夹,该文件夹中有index.php 我的url类似于mydomain.com/people/?name=value1&age=value2 但是我真的希望它看起来像mydomain.com/people?name=value1&age=value2因为“people”是一个文件夹,而您的脚本就在这个文件夹中,所以只有关闭DirectoryIndex,它才能工作,它会自动重定向浏览器,以包含文件夹请求的尾随斜杠 注意,是一个尾随斜杠,URI以/people/
DirectoryIndex
,它才能工作,它会自动重定向浏览器,以包含文件夹请求的尾随斜杠
注意,是一个尾随斜杠,URI以/people/
结尾。?
及其后的所有内容都是查询字符串
关闭DirectoryIndex
可能非常危险,因为它用于防止信息泄露。如果文件夹上没有尾随斜杠,请求文件夹将导致显示该文件夹的内容,即使您有目录索引。换句话说,index.php
将被忽略,取而代之的是,您将得到一个所有文件夹内容的列表。因此,为了防止这种情况发生,您必须在内部添加斜杠
因此,在文档根目录的htaccess文件中类似这样的内容:
DirectoryIndex Off
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+people/\?
RewriteRule ^ /people [L,R]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ /$1/ [L]
由于“people”是一个文件夹,而您的脚本也在该文件夹中,因此,只有关闭DirectoryIndex
,它会自动重定向浏览器,以便为文件夹的任何请求包含尾部斜杠
注意,是一个尾随斜杠,URI以/people/
结尾。?
及其后的所有内容都是查询字符串
关闭DirectoryIndex
可能非常危险,因为它用于防止信息泄露。如果文件夹上没有尾随斜杠,请求文件夹将导致显示该文件夹的内容,即使您有目录索引。换句话说,index.php
将被忽略,取而代之的是,您将得到一个所有文件夹内容的列表。因此,为了防止这种情况发生,您必须在内部添加斜杠
因此,在文档根目录的htaccess文件中类似这样的内容:
DirectoryIndex Off
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+people/\?
RewriteRule ^ /people [L,R]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])$ /$1/ [L]
使用以下方法,您可以这样做:
RewriteEngine On
RewriteRule ^(.+)/$ $1 [L,R,QSA]
QSA
此处不是必需的,因为它代表查询字符串附加,并且默认情况下处于打开状态。使用此选项,您可以执行以下操作:
RewriteEngine On
RewriteRule ^(.+)/$ $1 [L,R,QSA]
QSA
此处不是必需的,因为它代表查询字符串追加,并且默认情况下处于打开状态。了解了一些新内容。了解了一些新内容。