如果URL包含字符串,则htaccess重定向到子文件夹

时间:2018-05-08 07:36:32

标签: php .htaccess

我感到非常抱歉,因为我觉得这是一个简单的问题而且答案很少次,但我无法解决我的问题;(

我有一个像这样的文件夹结构:

restaurant (folder)

.htaccess

index.php

anotherfile.php

few_more_files.php
根目录中的

htaccess文件包含:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !(test\.pdf|\.png)$ [NC]
RewriteRule ^(.+)$ index.php [QSA,L]    

我需要一种实现逻辑的方法:

如果网址包含mydomain.com/restaurant/any_other_strings_here,我需要重定向到/restaurant/index.php文件

我该怎么办?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您必须单独处理域名和网址:

# Only redirect if domain = dmydomain.com
RewriteCond %{HTTP_HOST} ^mydomain\.com$
# Redirect only if url contains restaurant/any_other_strings_here
# L = last = End htaccess evaluation after this rule
# R=301 = Redirect with status 301
RewriteRule restaurant/any_other_strings_here$ /restaurant/index.php [L,R=301]

可能" any_other_string"指的是一些野性的东西,所以这对你来说可能更好:

RewriteRule restaurant/(.*)$ /restaurant/index.php  [L,R=301]