1

这是网址

X.com.ar/ucyg-test

(X 是一个名字)

我想重定向到一个子文件夹,即 /Web

因此,当我输入时,X.com.ar/ucyg-test我会在下面看到 .html X.com.ar/ucyg-test/Web (但作为浏览器中的用户,我不想看到那个/Web

我添加了这个 .htaccess 文件

RewriteEngine on
RewriteCond %{HTTP_HOST} ^X.com.ar/ucyg-test$ [NC,OR]
RewriteCond %{HTTP_HOST} ^X.com.ar/ucyg-test$
RewriteCond %{REQUEST_URI} !Web/
RewriteRule (.*) /Web/$1 [L]

但是当我输入时X.com.ar/ucyg-test,我得到一个 404。为什么这.htaccess不起作用?如果我进入X.com.ar/ucyg-test/Web正在工作,即使我没有.htaccess

编辑

在阿努巴瓦的帮助下,这是我现在的.htaccess

RewriteEngine on
RewriteCond %{REQUEST_URI} !/Web/ [NC]
RewriteRule ^(ucyg-test)(/.*|)$ /$1/Web/$2 [L,NC,R]

没有PHP插件或CMS安装,只是纯粹的php

4

1 回答 1

2

%{HTTP_HOST}仅代表 URL 中的域名而不是 URI。

用这个替换你的代码:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /ucyg-test/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!Web/).*)$ Web/$1 [L,NC]

参考:Apache mod_rewrite 简介

于 2013-10-11T19:05:58.083 回答