0

のようなリンクからリダイレクトしたい

index.php?site=recipes&id=2451 から レシピ/2451

そして実際には、1つのことに加えてかなりうまく機能します。

最初に私の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=2451 から レシピ/2451

しかし、エラー404が発生します。

この行をコメントアウトすると、url は index.php?site=recipe&id=2451 になりますが、コンテンツは正しく表示されます。誰かが何が悪いのか考えていますか?

よろしくお願いします!

4

0 に答える 0