[英]Rewrite root to subfolder (.htaccess) except some directories
我有以下文件夾結構:
對 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/public(不帶應用程序)
所有其他請求都轉到app/index.php而不更改 url。
要重寫請求/root
至/subfoldwr
您可以使用下面的規則在你/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /app/index.php [L]
這會將除現有文件/目錄之外的所有內容從/root
文件重寫到/app/index.php
。
您可以在站點根目錄 .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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.