php - .htaccess 异常在主目录上产生问题

标签 php regex .htaccess laravel

这是我的目录结构

localhost or livehost
-app
-bootstrap
-public
-vendor
-code
-demo

这是我的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L]
    RewriteRule ^(.*)$ public/blog/$1 [L]
</IfModule>

这是我的路线

Route::get('/', 'Sys@Home');
Route::get('blog', 'Sys@Blog');
Route::get('contact', 'Sys@Contact');

要访问这些,我不想输入我的 url

localhost/public/
localhost/public/blog
localhost/public/contact

相反,它足以输入

localhost
localhost/blog
localhost/contact

同时,对/code/demo 文件夹不应该申请这些访问目录。

所以我必须从这个问题 .htaccess exception to particular folders 向这些目录写入异常

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteRule %{THE_REQUEST} /code
    RewriteRule %{THE_REQUEST} /temp
    RewriteRule ^ - [L]
    RewriteRule ^(.*)$ public/$1 [L]
    RewriteRule ^(.*)$ public/blog/$1 [L]
</IfModule>

应用后我可以访问文件夹 localhost/code

localhost/demo

但是我无法访问像

这样的文件夹
localhost
localhost/blog
localhost/contact

我怎样才能使这两者成为可能?

最佳答案

你可以试试:

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteBase /

    RewriteCond %{THE_REQUEST} /(code|tmp) [NC]
    RewriteRule ^ - [L]

    RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
</IfModule>

关于php - .htaccess 异常在主目录上产生问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511110/

相关文章:

php - 获取 mysql 行,除非它是重复的,在这种情况下忽略它

java - 正则表达式:格式化/多种格式

javascript - 告诉 Apache 是否根据请求执行 PHP

php - 如何删除最后一个破折号后的字符串

php - 在 .htaccess 中使用 AddType .css 时浏览器不解释 .css 文件

.htaccess - 如何重写脚本并使用 .htaccess 重定向离开该脚本,同时避免无限循环

PHP:通过从数据库获取数据生成PDF

php - 如何按位比较字符串

php - Laravel 中的条件路由

regex - 正则表达式提取单词之前/之后的数字