我已经在Laravel中创建了一个About页面,并将其指向路线,但是问题是当我转到以下网址时:http://localhost:8080/bsms/public/about
它不起作用,并且显示
对不起,找不到您要查找的页面。
但是,http://localhost:8080/bsms/public/index.php/about
工作正常。我想让我的URL脱离索引!
答案 0 :(得分:0)
您在本地主机吗?
尝试将此行添加到公用文件夹中的.htaccess文件中:
RewriteBase /
所以应该像这样:
<IfModule mod_rewrite.c>
RewriteBase /
<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]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
如果它不起作用,请尝试提供有关您的项目环境的更多详细信息。
另外,URL应该指向如下所示的内容: bsms.test 或类似。
答案 1 :(得分:0)
您应该能够通过此URL http://localhost:8080/bsms/about访问“关于”页面(考虑到您的视图文件位于资源文件夹中,而不位于公共文件夹中)。
尝试使用这些命令
php artisan config:clear
php artisan cache:clear
composer dump-autoload
让我们知道进展如何。
答案 2 :(得分:0)
转到/public/index.php
并在define('LARAVEL_START', microtime(true));
/*
* redirecting addresses with /index.php/
* */
$url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if (strpos($url, '/index.php')) {
$url = str_replace('/index.php', '', $url);
header('Location: ' . $url);
die();
}