0

我想从一个链接重定向

index.php?site=recipes&id=2451recipes/2451

事实上,除了一件事之外,它的效果还不错。

首先我的整个 htaccess

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.bla\.de/ [NC]
#RewriteRule ^(.*)$ http://www.bla.de/cocktails/$1 [R=301,L]


### Startseite
RewriteRule ^$ /cocktails/meine-bar [R=301,L]

### rezepte
RewriteRule ^rezepte\.php$ http://www.bla.de/cocktails/rezepte [L,R=301]
RewriteCond %{THE_REQUEST} /index\.php\?site=rezepte
RewriteCond %{QUERY_STRING} ^site=rezepte$
RewriteRule ^index\.php$ http://www.bla.de/cocktails/rezepte? [L,R=301]

### rezepte/name
RewriteCond %{THE_REQUEST} /index\.php\?site=rezepte&id=
RewriteCond %{QUERY_STRING} ^site=rezepte&id=([a-zA-Z0-9-_,]+)$
#RewriteRule ^index\.php$ http://www.bla.de/cocktails/rezepte/%1? [L,R=301]
RewriteRule ^rezepte/([a-zA-Z0-9-_,]+)$ index.php?site=rezepte&id=$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /cocktails/index.php?site=$1 [L]

所以,我发布的内容是:

index.php?site=recipe 到 /recipe

如果我取消注释

#RewriteRule ^index\.php$ http://www.bla.de/cocktails/rezepte/%1? [L,R=301]

它还重定向

index.php?site=recipes&id=2451recipes/2451

但我收到错误 404。

如果我将此行注释掉,则 url 为 index.php?site=recipe&id=2451 但内容显示正确。有人知道出了什么问题吗?

此致!

4

0 回答 0