我有以下文件夹结构:
对v1的请求应该照常工作 所有其他请求应该转到/ app而不更改URL
www.xxx.com/ (displays: app/index.php)
www.xxx.com/v1 (displays: v1/index.php)
www.xxx.com/js/xxx.js (displays: app/js/xxx.js)
这可能吗?
基本上,静态文件夹: v1,app / js(不带app),app / public(不带应用)
所有其他请求都会转到 app / index.php 而不会更改网址。
答案 0 :(得分:0)
要重写从/root
到/subfoldwr
的请求,您可以在/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /app/index.php [L]
这会将除{strong>现有文件/目录之外的所有内容从您的/root
饲料重写为/app/index.php
。
答案 1 :(得分:0)
您可以在站点根目录中使用此规则.htaccess:
RewriteEngine On
# landing page
RewriteRule ^/?$ app/index.php [L]
# if v1/file exists then use it
RewriteCond %{DOCUMENT_ROOT}/v1/$1 -f
RewriteRule .+ v1/$0 [L]
# if app/public/file exists then use it
RewriteCond %{DOCUMENT_ROOT}/app/public/$1 -f
RewriteRule .+ app/public/$0 [L]
# if app/js/file exists then use it
RewriteCond %{DOCUMENT_ROOT}/app/js/$1 -f
RewriteRule .+ app/js/$0 [L]
# if not a file, not a dir and not starting with v1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^v1/ app/index.php [L,NC]