所以我在我的htaccess中得到了这些行
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^de/exposes/(.*)$ /exposes/?l=de_DE&m=$1 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
并关注网址:
dev.example.com/de/exposes/whatever
htaccess检查程序说,它按计划工作,并重定向到dev.example.com/de/exposes?l=de_DE&m=whatever。但它没有。总是有404错误。
如果我将[L,NC,QSA]
更改为[L,P]
,则表示:找不到对象。
如果我将[L,NC,QSA]
更改为[L,R]
,它会转到正确的网址,但会更改网址,这就是我想要避免的内容。
有什么想法吗?
Greetz和谢谢
答案 0 :(得分:0)
这样做:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(de/exposes)/(.+)$ $1/?l=de_DE&m=$2 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>