我需要删除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
我尝试了一切,但没有工作:/
答案 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/
,然后再将其重定向到同一路径。
注意:清除浏览器缓存,然后对其进行测试。