-2

私はウェブサイト www.example.com/index.php?q=registration を持っています。それを www.example.com/registration にリダイレクトしたいと思います。

このコードは機能していないようですが、その理由はわかりません。

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L]

誰でも私を助けることができますか?

4

2 に答える 2

1

これで試してください

RewriteEngine On
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule ^([^/]*)(.*)$ /$1[L,QSA]
于 2013-08-28T10:13:35.370 に答える
0

これは、書き換えルールが .html を想定しているためです。ブラウザで

www.example.com/registration.html 

htaccess で動作するはずです。そこに入れることができる別のルールは次のとおりです。

RewriteRule ^([^/]*)/$ /index.php?q=$1 [L,QSA]

両方のルールに QSA フラグを追加して、他のクエリ文字列パラメーターが追加されていることを確認することをお勧めします。

最終的に、.htaccess は次のようになります。

RewriteEngine On
RewriteRule \.(jpg|png|gif|php)$  - [L]
RewriteRule ^([^/]*)\.html$ /index.php?q=$1 [L,QSA]
RewriteRule ^([^/]*)/$ /index.php?q=$1 [L,QSA]
RewriteRule ^([^a-z0-9_]+)*$ /index.php?q=$1 [L,QSA]
于 2013-08-28T10:02:39.937 に答える