如果这个问题是重复的,我很抱歉,但我在网上查找的所有内容都让我很困惑,所以我再次发布这个问题来指定我的需求。
因为我希望我的网站结构干净,所以我想将内容与配置分开,所以我将所有页面放在/app
文件夹(很像 Rails 应用程序)。网站的结构大致如下:
.
├── app
│ ├── index.php
│ └── products
│ └── index.php
├── configs
└── layouts
我发现如何redirect根到/app
文件夹中的.htaccess
这样:
RewriteEngine on
RewriteRule ^$ /app [L]
当我访问服务器时,apache 重定向到/app
文件夹和 url 是:localhost/app
.
我想要rewriteurl以便删除/app
。例如,当我访问/products/
文件夹我不希望 url 看起来像这样:localhost/app/products/
我希望它看起来像这样:localhost/products/
我用谷歌搜索了解决方案,我发现,就像为 worpress 所做的那样,你只需要添加:
RewriteEngine on
RewriteRule ^$ /app [L]
RewriteRule %{REQUEST_URI} ^/app/.*
RewriteRule ^(.*)$ app/$1 [L]
但这不起作用,apache 返回500 internal server error
.
I tried:
RewriteEngine on
RewriteRule ^$ /app [L]
RewriteRule %{REQUEST_URI} !^/app/
RewriteRule ^(.*)$ app/$1 [L]
and
RewriteEngine on
RewriteRule ^$ /app [L]
RewriteRule %{REQUEST_URI} !^/app/.*
RewriteRule ^(.*)$ app/$1 [L]
并且都返回500 internal server error
.
我也尝试过:
RewriteEngine on
RewriteRule ^$ /app [L]
RewriteCond %{REQUEST_URI} !^/app/
RewriteRule ^(.*)$ app/$1 [L]
but /app
仍然在网址中!
我怎样才能做到这一点?