نور*_*نور 5 php .htaccess redirect url-rewriting laravel
我在本地 xampp 中为我的项目创建虚拟主机。网址: http: //kooltech-us.com/
我在公共文件夹(Laravel)中有文件夹名称 admin (如下图所示)。
在我的项目中我的管理员登录网址 http://localhost/admin/login。
我点击 urlhttp://localhost/admin/login进入管理员登录页面.. 没关系.. 但是当我点击这个http://localhost/admin.. 它带我到 public/admin 文件夹。这意味着向我显示公共目录列表。
为了防止访问目录列表或 public/admin,我在 .htaccess 文件中写入Options - Indexes代码。一般来说,它会给我 403 错误(禁止访问!)。是工作。
我正在寻找当我点击网址时http://localhost/admin它会带我去的 http://localhost/admin/login。
笔记:
Options - Indexes。一般来说,这会给我 403 错误(禁止访问!)。我在 web.php 中编写但它不起作用..
Route::get('/admin', function () {
return redirect('/admin/login');
});
Run Code Online (Sandbox Code Playgroud)
如果需要更多解释请评论..
要修改 .htaccess,您需要在 .htaccess 中添加类似的内容,这会将所有请求从 /admin 重定向到 /public,但仍显示为 /admin,这将允许您的重定向正常工作web.php:-
RewriteRule admin /public [L]
Run Code Online (Sandbox Code Playgroud)
这会给你:-
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule admin /public [L]
RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但是我仍然觉得这是不好的做法,并且按照 @flakerimi 的建议更改目录结构将是一个更好的解决方案。
| 归档时间: |
|
| 查看次数: |
2936 次 |
| 最近记录: |