Fra*_*ser 10 apache .htaccess mod-rewrite laravel
我正在尝试设置一个网站.该网站在我们用于向客户端显示网站的实时开发服务器上运行良好.这是来自live dev的htaccess(工作正常):
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Rewrite to 'public' folder
RewriteCond %{HTTP_HOST} ^livedev.domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) public/$1 [L]
</IfModule>
AuthType Basic
AuthName "dev16"
AuthUserFile "/home/site/.htpasswds/public_html/passwd"
require valid-user
Run Code Online (Sandbox Code Playgroud)
这是现场网站上的.htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Rewrite to 'public' folder
RewriteCond %{HTTP_HOST} ^livesite.co.uk$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
除了HTTP_HOST和删除身份验证之外,2是相同的.
它给了我一个通用的"内部服务器错误".
我试过删除.htaccess的内容,它只是给我找不到页面,所以问题肯定在于.htaccess.
总共.htaccess处女,我可以采取哪些步骤来找出问题的原因?
谢谢
(这是Laravel 3.2.13)
小智 7
在/ public的同一级别使用
这种方式首先重定向到公共
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
Run Code Online (Sandbox Code Playgroud)
内部/公共
然后,你处理index.php
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12487 次 |
| 最近记录: |