我有以下网址重置我的密码:
http://example.com/resetPassword/LtoyURJd5AYuP3KEGg4gx8fvUprT37LBQDlvhg22qjg=.eyJ0b2tlbiI6IiQyeSQxMCRMTlgzU29HdEdOaExsay5yQ1puQ2ZlZ1wvbVNcL09BMDV2SjhcL1wvcHNRNjZaQmRpbWpOdnhGQlciLCJ0aW1lIjoiMjAxNS0xMi0xMVQwOTozOToyOSswMTAwIiwiZW1haWwiOiJsb3JlbS51dC5hbGlxdWFtQGZldWdpYXRwbGFjZXJhdHZlbGl0Lm9yZyJ9
Run Code Online (Sandbox Code Playgroud)
在本地开发机器上它没有任何问题.但是在公共服务器上(托管在亚马逊ec2上)我得到了414 Uri.我试图解决它,但我似乎无法解决这个问题.ps:我已将url替换为example.com
我尝试将以下行添加到/etc/apache2/apache2.conf,vhosts conf.两者同时又分开.是的.我每次都重启apache服务.
LimitRequestLine 8190
Run Code Online (Sandbox Code Playgroud)
此外,当我要求其他长网址没有问题.例如.我重命名为robots.txt,所以我可以请求以下网址:
http://example.com/robotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsr/robotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsroborobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobots.txtrobots.txtrobots.txtrobots.txtrobots.txtrobots.txtrobots.php?test=ok
http://example.com/robotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsr/robotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsroborobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobotsrobots.txtrobots.txtrobots.txtrobots.txtrobots.txtrobots.txtrobots.php
http://example.com/robots.txt?klsadjflkasdjflkdsajflkdsja=sdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfjsdakjflksadjfoaiwsefnalkfj
Run Code Online (Sandbox Code Playgroud)
我还将robots.txt移动到其他位置并为其制作了重写规则.即便如此,它似乎工作正确.所以mod_rewrite不会成为问题.
当网址变长为+/- 275个字符时,会出现此问题.它使用273的重置链接,更长的是324个字符.我认为机器人长的网址是400个字符.
我似乎也有问题(我不是shure是否相关)我的vhosts没有正确加载.服务器始终重定向到默认路由中定义的路径.不是vhosts.apache2ctl -s输出提供以下内容:
ubuntu@ip-172-31-28-19:~$ apache2ctl -S
VirtualHost configuration:
<ip>:80 example.com (/etc/apache2/apache2.conf:228)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/public"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex proxy: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
Run Code Online (Sandbox Code Playgroud)
更新2015-12-18 在与我的团队中的其他开发人员讨论时,我们将在亚马逊上为此服务器选择不同的基本映像.似乎有比这更多的问题.所以这个问题已经过时了.
我正在尝试在Laravel(5.1)项目中托管一个WordPress站点.我有以下结构(剥离一些)
??? app
??? config
??? public
? ??? index.php
? ??? wordpress -> ../wordpress
? ??? .htaccess
??? resources
??? storage
??? vendor
??? wordpress
??? index.php
??? wp-admin
??? wp-config.php
??? wp-includes
??? .htaccess
Run Code Online (Sandbox Code Playgroud)
vhost文档根目录是公共的.
Wordpress应该捕获掉落在.htaccess中的所有内容.但是例如/ login应该去laravel.当我的项目增长时,我打算添加更多规则来捕获Laravel的请求.我在/ public中有以下.htaccess文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^/login" "index.php" [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^(.*)$" "wordpress/$1" [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但是当我向/ login发出请求时,我仍然最终得到了wordpress页面.这是日志的一部分:
add path info postfix: /var/www/public/login -> /var/www/public/login/
strip …Run Code Online (Sandbox Code Playgroud) 是否可以用 css 修剪空格?在下面的代码片段中,<a>标签中有一个额外的空格。该链接来自 wordpress 插件,我不想编辑插件源文件。额外的空间位于源文件中。我能做的是将 css 应用于链接。
click <a href="#" class="foo">here </a>to login.Run Code Online (Sandbox Code Playgroud)
最坏的情况是我可以使用 JavaScript。但这对我来说似乎很丑陋。
apache ×2
amazon-ec2 ×1
apache2.4 ×1
css ×1
laravel ×1
mod-rewrite ×1
php ×1
virtualhost ×1
wordpress ×1