のようなリンクからリダイレクトしたい
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 になりますが、コンテンツは正しく表示されます。誰かが何が悪いのか考えていますか?
よろしくお願いします!