2

我有一个站点,其中包含另一个站点,位于子文件夹中。例如,www.domain.com子文件夹是www.domain.com/uk/. 它们都包含重复文件,因此即使.htaccess文件相同。现在的问题是,当我通过子文件夹.htaccess内将用户重定向uk到同一目录中的文件时,它会将他们重定向到具有重复名称的父站点中的文件。

这是我在 .htaccess 文件中使用的规则:

RewriteRule ^category/[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ final_final.php 

我对 mod_rewrite 没有太多经验。

4

2 回答 2

3

在父目录中RewriteBase应该是/

RewriteEngine On
RewriteBase /

在子目录中RewriteBase应该是/uk

RewriteEngine On
RewriteBase /uk
于 2012-10-05T09:19:21.183 回答
0

您还可以在具体重定向中指定具体路径,它不像 Gustonez 方式那样“干净”,但它

在 uk-htaccess 重定向到 uk 基本目录中也可以工作

RewriteRule ^category/(.*)$ /uk/$1 [L,R]

并在 parent-htaccess 中重定向到没有 /uk/ 的基本目录

RewriteRule ^category/(.*)$ /$1 [L,R]


但我认为你的重定向很奇怪

^category/[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ final_final.php

你真的需要url中的所有这些参数来重定向吗?
当您重定向任何这些参数时,您将在页面上解析这些参数中的任何一个,
您只需转到 final_final.php 页面而不向该页面发送参数,
另一件事是您没有 [L] 标记语句的结尾,
您最好准确地说明什么您需要,因为您拥有的此重定向可能不充分并且可能根本不起作用

于 2012-10-05T13:57:36.800 回答