Php htaccess-尾部斜杠url
您好,我有以下问题:我有一些页面(包括php),我像这样加载它们Php htaccess-尾部斜杠url,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,您好,我有以下问题:我有一些页面(包括php),我像这样加载它们 http://www.domain.com/news/ 它们工作得很好。但是如果我去掉后面的斜杠 http://www.domain.com/news 这种情况会发生->http://www.domain.com/news/?page=news&request= 以下是我的访问规则: RewriteEngine on <IfModule mod_gzip.c> mod_gzip_on Yes
http://www.domain.com/news/
它们工作得很好。但是如果我去掉后面的斜杠
http://www.domain.com/news
这种情况会发生->http://www.domain.com/news/?page=news&request=
以下是我的访问规则:
RewriteEngine on
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl|jpg|png|gif)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)(.*)$ /index.php?page=$1&request=$2
重新编写引擎打开
mod_gzip_on Yes
是的
mod|gzip|item|u include file\(html?| txt | css | js | php | pl | jpg | png | gif)$
mod_gzip_item_包含处理程序^cgi脚本$
mod_gzip_项目包括mime^text/*
mod_gzip_item_包括mime^application/x-javascript*
mod_gzip_项_排除mime^image/*
mod_gzip_item_排除rspheader^内容编码:.*gzip*
选项-索引
重写cond%{REQUEST_FILENAME}-F
#重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]*)(.*)$/index.php?页面=$1,请求=$2
顺便说一句,因为我在根文档中也有一个新闻文件夹,所以可以使用它吗?是的,这是因为您在根文档中有一个
news/
文件夹。您的重写条件是查找任何不是文件(即!-f
)或目录(!-d
)的内容。尝试重命名根目录中的news/
目录
如果必须,您可以通过执行以下操作强制domain.com/news
重写到domain.com/news/
:
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
这是一个mod_dir问题。当它认为某个URL映射到某个目录(即使后来决定不映射)时,它会重定向浏览器,以确保在末尾追加一个尾随斜杠 与另一个答案一样,您可以关闭
DirectorySlash
,或者通过mod_rewrite确保所有受影响的URL都通过尾部斜杠重定向(以便重写和重定向发生在同一模块中):
目录slash off
关闭mod_dir。这使得mod_dir不会重定向浏览器,但是。您可以在htaccess文件中添加该指令RewriteEngine On
Options -MultiViews
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ /$1/ [L,R=301]
如果您访问
domain.com/news/
,您希望得到什么结果?是的,目录是问题所在,谢谢:)