的.htaccess规则重定向除了少数的人提供所有页面 [英] .htaccess rule redirect all pages except a few provided ones

查看:131
本文介绍了的.htaccess规则重定向除了少数的人提供所有页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下.htaccess文件。

I have the following .htaccess file.

ErrorDocument 404 /404.php


RewriteRule ^aanbiedinginformatie$ aanbiedinginformatie.php
RewriteRule ^algemenevoorwaarden$ algemenevoorwaarden.php

RewriteRule ^contact$ contact.php
RewriteRule ^disclaimer$ disclaimer.php
RewriteRule ^faq$ faq.php
RewriteRule ^index$ index.php
RewriteRule ^informatie$ informatie.php
RewriteRule ^inloggen-bedrijven$ inloggen-bedrijven.php
RewriteRule ^inloggen-consument$ inloggen-consument.php
RewriteRule ^nieuws$ nieuws.php
RewriteRule ^(.*)-nieuws$ bekijknieuws.php?id=$1
RewriteRule ^(.*)-(.*)-persbericht$ persbericht.php?id=$1&bedrijf=$2
RewriteRule ^persberichteninformatie$ persberichteninformatie.php
RewriteRule ^privacy$ privacy.php
RewriteRule ^registreren-bedrijven$ registreren-bedrijven.php
RewriteRule ^registreren-bedrijven-stap-2$ registreren-bedrijven-stap-2.php
RewriteRule ^registreren-bedrijven-stap-3$ registreren-bedrijven-stap-3.php
RewriteRule ^registreren-bedrijven-stap-4$ registreren-bedrijven-stap-4.php
RewriteRule ^registreren-bedrijven-stap-5$ registreren-bedrijven-stap-5.php
RewriteRule ^registreren-consument$ registreren-consument.php
RewriteRule ^vacatureinformatie$ vacatureinformatie.php
RewriteRule ^(.*)-vacatures$ vacatures.php?id=$1

RewriteRule ^zoeken-op-(.*)$ zoeken.php?query=$1
RewriteRule ^zoeken-in-(.*)$ zoeken.php?plaats=$1
RewriteRule ^zoeken-q-(.*)-in-(.*)$ zoeken.php?query=$1&plaats=$2

RewriteRule ^(.*)-vacatures-zoeken$ zoekenvac.php?query=$1
RewriteRule ^(.*)-in-(.*)-vacatures$ zoekenvac.php?query=$1&plaats=$2
RewriteRule ^vacatures-in-(.*)$ zoekenvac.php?plaats=$1 

RewriteRule ^(.*)-aanbiedingen$ zoekenaan.php?query=$1
RewriteRule ^(.*)-aanbiedingen-in-(.*)$ zoekenaan.php?query=$1&plaats=$2
RewriteRule ^aanbiedingen-in-(.*)$ zoekenaan.php?plaats=$1

RewriteRule ^(.*)-persberichten$ zoekenpers.php?query=$1
RewriteRule ^persberichten-in-(.*)$ zoekenpers.php?plaats=$1
RewriteRule ^(.*)-persberichten-in-(.*)$ zoekenpers.php?query=$1&plaats=$2

RewriteRule ^bedrijven-in-(.*)$ zoeken.php?plaats=$1

RewriteRule ^control/consument$ control/consument.php
RewriteRule ^control/consument-mijngegevens$ control/consument-mijngegevens.php
RewriteRule ^control/consument-wachtwoord$ control/consument-wachtwoord.php
RewriteRule ^control/consument-cv$ control/consument-cv.php
RewriteRule ^control/consument-reacties$ control/consument-reacties.php
RewriteRule ^control/consument-reviews$ control/consument-reviews.php
RewriteRule ^control/logout$ control/logout.php

RewriteRule ^control/bedrijven$ control/bedrijven.php
RewriteRule ^control/bedrijven-aanbieding$ control/bedrijven-aanbieding.php
RewriteRule ^control/bedrijven-facturen$ control/bedrijven-facturen.php
RewriteRule ^control/bedrijven-fotos$ control/bedrijven-fotos.php
RewriteRule ^control/bedrijven-kortingscode$ control/bedrijven-kortingscode.php
RewriteRule ^control/bedrijven-kortingscode-bewerken-(.*)$ control/bedrijven-    kortingscode-bewerken.php?id=$1
RewriteRule ^control/bedrijven-kortingscode-verwijderen-(.*)$ control/bedrijven-    kortingscode-verwijderen.php?id=$1
RewriteRule ^control/bedrijven-wachtwoord$ control/bedrijven-wachtwoord.php
RewriteRule ^control/bedrijven-pakket$ control/bedrijven-pakket.php
RewriteRule ^control/bedrijven-persbericht$ control/bedrijven-persbericht.php
RewriteRule ^control/bedrijven-persbericht-bewerken-(.*)$ control/bedrijven-   persbericht-bewerken.php?id=$1
RewriteRule ^control/bedrijven-persbericht-verwijderen-(.*)$ control/bedrijven- persbericht-verwijderen.php?id=$1
RewriteRule ^control/bedrijven-profiel$ control/bedrijven-profiel.php
RewriteRule ^control/bedrijven-vacatures$ control/bedrijven-vacatures.php
RewriteRule ^control/bedrijven-vacatures-bekijk-(.*)$ control/bedrijven-vacatures- bekijk.php?id=$1
RewriteRule ^control/bedrijven-vacatures-bewerken-(.*)$ control/bedrijven-vacatures-   bewerken.php?id=$1
RewriteRule ^control/bedrijven-vacatures-verwijderen-(.*)$ control/bedrijven-vacatures-verwijderen.php?id=$1
RewriteRule ^control/logoutb$ control/logoutb.php

RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

RewriteRule ^id(.*)-(.*)$ bedrijf.php?id=$1
RewriteRule ^branche(.*)-(.*)$ zoekenbranche.php?id=$1

我要的,是所有的URL,除了上面提供的人会重定向到 bedrijf.php?Q = $ 1 。我试图排除,但不起作用。

What I want, is that all URL's except the one provided above will redirect to bedrijf.php?q=$1. I tried excluding but that doesn't work.

所以www.site.com/companyname会重定向到bedrijf.php?Q =公司名称,而www.site.com/contact重定向到contact.php

So www.site.com/companyname will redirect to bedrijf.php?q=companyname, while www.site.com/contact will redirect to contact.php

我将如何做到这一点?

推荐答案

重写规则循环。整个一套规则继续得到重新应用到URI,直到URI停止变化。您的规则在这里:

Rewrite rules loop. The entire set of rules keep getting re-applied to the URI until the URI stops changing. Your rule here:

RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

有没有条件prevent一个previously改写URI的人不重写 bedrijf.php ,因为(。*) 匹配的一切。

Has no conditions to prevent a previously rewritten URI from getting rewritten to bedrijf.php, since (.*) matches everything.

尝试加入一些情况吧,如:

Try adding some conditions to it, like:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

这篇关于的.htaccess规则重定向除了少数的人提供所有页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆