重定向.htaccess无效

时间:2013-10-11 19:03:29

标签: php apache .htaccess mod-rewrite

这是网址

  

X.com.ar/ucyg-test

(X将是一个名字)

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

因此,当我输入X.com.ar/ucyg-test时,我会在X.com.ar/ucyg-test/Web下看到.html (但是作为浏览器中的用户,我不希望看到/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

修改

在anubhava的帮助下,这是我目前的.htaccess

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

没有安装PHP个插件或CMS,只有纯php

1 个答案:

答案 0 :(得分:2)

%{HTTP_HOST}仅代表网址中的域名而非URI。

用以下代码替换您的代码:

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

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

参考:Apache mod_rewrite Introduction