我想从一个链接重定向
index.php?site=recipes&id=2451 到 recipes/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=2451 到 recipes/2451
但我收到错误 404。
如果我将此行注释掉,则 url 为 index.php?site=recipe&id=2451 但内容显示正确。有人知道出了什么问题吗?
此致!