我已经看过很多类似的主题,我尝试了所有这些主题并且之前有效,每次都有不同的主题,但现在没有...
所以我想从我的网址中删除/ public,它适用于laravel-public_html但不适用于构建版本
我使用VPS(带有CWP 7的CentOS 7)
我的结构是这样的:
/home/admin/
-laravel
-public_html (public folder for laravel)
-laravel_build
-build (public folder for laravel_build)
并且我有build.mypage.com和www.mypage.com
的httpd.conf
...
ServerRoot "/usr/local/apache"
...
DocumentRoot "/home/admin/public_html"
<Directory "/home/admin/public_html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
index.php(public_html)
require __DIR__.'/../laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
index.php(build)
require __DIR__.'/../laravel_build/bootstrap/autoload.php';
$app = require_once __DIR__.'/../laravel_build/bootstrap/app.php';
我应该在.htaccess中添加一些东西,如果是的话,我需要把它放在哪里.htaccess?
编辑:我已经在公共文件夹中有.htaccess用于laravel路由(mod _rewrite)
答案 0 :(得分:0)
假设您使用的是MAMP或XAMP之类的东西,如果可能的话,请不要在httpd.comf中添加任何内容,而是可以做某事 如下面的httpd-vhosts.conf。
您可能需要在您的环境中查找放置虚拟主机文件的目录(有时您必须在httpd.conf中取消注释该路径)
httpd-vhosts.conf中的条目示例:
<VirtualHost *:80>
ServerAdmin yourEmail@domain.com
DocumentRoot "/home/admin/laravel/public_html"
ServerName MySite1.com
ServerAlias MySite1.com
ErrorLog "logs/MySite1_com-error.log"
CustomLog "logs/MySite1_com_access.log" common
php_value error_log "logs/php_error.log"
</VirtualHost>
<VirtualHost *:80>
ServerAdmin yourEmail@domain.com
DocumentRoot "/home/admin/build"
ServerName subdomain.MySite1.com
ServerAlias subdomain.MySite1.com
ErrorLog "logs/subdoamain-MySite1-error.log"
CustomLog "logs/subdoamain-MySite1-error.log" common
php_value error_log "logs/php_error.log"
</VirtualHost>
为这两个应用添加两个条目。
答案 1 :(得分:0)
我现在感觉很蠢,问题实际上是我在Google Chrome中没有硬重置和清除缓存所以它加载了以前的配置
对于其他有类似问题的人,请尝试以下方法:
1. 为子域和域创建vHost
2. 将.htaccess放入公用文件夹,而不是laravel文件夹
我当前的.htaccess如下(public_html和build):
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
</IfModule>