htaccess删除index.php?来自网址

时间:2018-03-14 09:20:29

标签: .htaccess apache2

我需要删除index.php吗?来自网址。

来自:https://forum.fibaro.com/discover/

收件人:class ApplicationController < ActionController::API include ActionController::MimeResponds end class DocumentPublicController < ApplicationController respond_to :html def show html = "<html><head></head><body><h1>Holololo</h1></body></html>"#, :content_type => 'text/html' respond_to do |format| format.html {render html: html, :content_type => 'text/html'} end end end

我尝试了一切,但没有工作:/

1 个答案:

答案 0 :(得分:1)

我认为你只是试图反对URI,让我在这里解释一下:

https://example.com/index.php?/discover/

此部分index.php是URI,然后是?,之后是/discover/,最后一部分是查询字符串,以便与之匹配,您可以使用QUERY_STRING or THE_REQUEST服务器变量根据您的需要而变化,但在使用REQUEST_URI时,您只能与URI部分匹配。

尝试以下方法:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s/index\.php\?\/(.*)\sHTTP.*$
RewriteRule ^index\.php$  /%1? [L,R=301]
RewriteRule !^index\.php$  /index.php?%{REQUEST_URI} [L]

上述代码会在外部将https://example.com/index.php?/discover/重定向到https://example.com/discover/,然后再将其重定向到同一路径。

注意:清除浏览器缓存,然后对其进行测试。