问题描述
我有以下.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规则重定向除了少数的人提供所有页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!