php - xampp 中的 Laravel vhosts 设置仅适用于第一页
问题描述
我正在使用 laravel 项目。它适用于 php artisan。当我设置虚拟主机时,它只工作索引页面(欢迎页面),但是当我点击登录、注册或任何其他页面时,它不起作用。它显示找不到页面。
我的httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/my_laravel/public"
ServerName laravel.dev
ServerAlias laravel.dev
ErrorLog "logs/laravel.log"
CustomLog "logs/custom.laravel.log" combined
<Directory "C:/xampp/htdocs/my_laravel/public">
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
和我的hosts file
127.0.0.1 laravel.dev
.htaccess
公共文件夹内的文件
<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]
</IfModule>
解决方案
您必须在 public/.htaccess 文件中定义 URL 重写。检查那里的设置是否正确。Laravel 默认文件如下所示:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
只需备份您的 .htaccess 并尝试将其复制粘贴到您的 htaccess 文件中并检查它是否有效。如果你使用 Laravel 授权,你还必须添加这个
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
也许您还必须打开模块mod_rewrite.c
,mod_negotiation.c
如果它们还没有。您可以通过搜索并取消注释所需模块的行来做到这一点apache\conf\httpd.conf
如果您想自定义您的 .htaccess,无论出于何种原因,网络上有许多可用的资源。
推荐阅读
- javascript - 在 MAC OS High Sierra 中为 npm 设置代理后,每个 NPM 命令都返回错误
- javascript - 我什么时候应该在javascript中的require('module')之后使用点(。)
- fastlane - Fastlane + Crashlytics Beta 发行说明不起作用
- javascript - 如何用 JS 获取 textarea 的文本高度?
- python - 在 Dict 上运行 del 命令会随机导致“del TypeError: 'tuple' object doesn't support item删除”
- java - 如何在使用 ExecutorService 完成后重新运行特定任务
- ios - 为什么不能从 UIActivityViewController 中删除 Gmail?
- wordpress - Divi 主题与 Yoast SEO 发生冲突
- javascript - 如果没有设置值,如何在下拉列表中选择选项(selenium webdriver-js)
- python - 如何使 s3 存储桶子图像迭代通用