我的index.php
require_once 'altorouter.php';
$router = new Router();
$router->map('GET', '/', function() {
require 'home.php';
}, 'home');
$router->map('GET|POST', '/dashboard/[*:serial]?', function($serial) {
require 'dashboard.php';
}, 'dashboard');
$match = $router->match();
if (is_array($match)) {
header("HTTP/1.1 200 OK");
call_user_func_array( $match['target'], $match['params'] );
}
else {
header('Content-type: text/javascript');
header("HTTP/1.1 400 Bad Request");
echo json_encode(array('message' => 'Please check validity of methods and URL slugs.', 'debug' => ($_SERVER['REQUEST_URI'])), JSON_UNESCAPED_UNICODE, JSON_UNESCAPED_SLASHES);
}
Apache站点可用的ssl conf文件
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/>
#Options Indexes FollowSymLinks
#AllowOverride All
#Require all granted
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
ServerName example.com
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.example.com
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>
.htaccess
RewriteEngine on
# Autorouter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
# Enable last slash in URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)/$ /$1 [R=301,L]
启用基本身份验证后,home.php可以访问(登录后),而dashboard.php无法访问。
<Directory /var/www/html/>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
https://www.example.com/dashboard/abcd123/
返回404
Not Found
The requested URL was not found on this server.
禁用基本身份验证后,一切正常。
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
https://www.example.com/dashboard/abcd123/
返回200和页面。
是否可以将Altorouter与Basic Auth结合使用?为什么'/'路由不受身份验证影响,而其他路由受此影响?
答案 0 :(得分:0)
显然,df1 <- read.csv("Data_exmpl.txt", fill = TRUE, header = FALSE)
需要启用。现在路由成功了。