htaccess一个url到域上的子文件夹

时间:2015-09-29 10:07:23

标签: .htaccess mod-rewrite rewrite

我试图在htacces配置

上得到这个结果

if(www.domain.de/some/projects/)     在webspace root / some / subdir / projetcs / index.php上执行 其他     在webspace root / index.php上执行

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/some/subdir/projects/.*$
RewriteRule ^(.*)$ /some/subdir/projects/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

我只想将1个链接重定向到网站空间上的子订阅者,希望有人可以帮助我,我现在尝试的时间超过1天。

2 个答案:

答案 0 :(得分:1)

第一部分在几个方面是错误的:

  1. 您期望的请求(某些/项目)未在条件中进行测试,而不是您要重写的请求。

  2. 由于您使用的是.htaccess样式语法,因此您正在处理相对路径,因此您不能测试前导斜杠(/)。

  3. 我认为这就是你要找的东西:

    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} ^/some/projects
    RewriteRule ^ /some/subdir/projects [L,R=301]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !=/favicon.ico
    RewriteRule ^ /index.php [L,R=301]
    

    我还添加了R标志以强制外部重定向,这在我看来你想做什么,虽然我可能在那里错了。

    注意:这不考虑在第一个块中实际请求的项目,因为您问题中的描述没有这样说。

答案 1 :(得分:0)

Arkascha我在.htaccess上有这个

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/some/projects
RewriteRule ^ /some/projects [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ /index.php [L,R=301]

但现在我有问题,所有工作只是LINK:www.domain.de/some不工作因为没有indes我想从root / index得到索引因为有一个内部链接的cms。< / p>

但如果我继续

  

www.domain.de/some/projects

我想拿

  

根/一些/项目

因为这个链接我有一个框架,应该只显示这一个链接,如果它的另一个链接,那么

  

&#34; www.domain.de/some/projects"

我想得到

  

根/ index.php的

来自网站空间。

我希望你现在能理解我,可以帮助我或其他人,我今天需要完成我的项目,这不行;(

编辑: 我现在只在我的htaccess中有这个:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ /index.php [L]

执行这两个链接:www.domain.de/some/projects和除了之外的所有其他链接 www.domain.de/some。

在root / / webspace上有些没有index.php这就是为什么他告诉我权限否认。

错误:

  

禁止

     

您无权访问此服务器上的某些/。