0
私はこのサイトを持っています。さて、これは私の地元のApache 2.2.11で動作しますMod_rewriteはリモートではなくローカルで動作しますか?
.htaccess:ErrorDocument 404 htp://www.mysite.com/404.html
options +FollowSymlinks
rewriteEngine on
rewriteCond %{REQUEST_URI} !-f
rewriteCond %{REQUEST_URI} !-d
rewriteCond %{REQUEST_URI} !index\.php
rewriteRule ^/?([^/]+?)?/?([0-9]+?)/([0-9]+?)$ index.php/%{THE_REQUEST} [NC]
私は
http://www.mysite.com/words%20etc/0/10
(またはまたは
http://www.mysite.com/0/10
)へ
htp://www.mysite.com/?q=words%20etc/0/10
を変更するには、書き換えルールを持っている//www.mysite.com
:HTPのは、それを呼ぶことにしましょうサーバー、エラーなし。しかし、私のホストのapacheの1.3.41サーバー上で、私は次のエラーを取得する:
[Sat Mar 5 21:42:14 2011] [alert] [client [ip]] /home/_/public_html/mysite.com/.htaccess: RewriteRule: cannot compile regular expression '^/?([^/]+?)?/?([0-9]+?)/([0-9]+?)$'\n
私はそれが滞りのない、このホストの使用のmod_rewrite上の他のサイトとしてApacheのバージョンについての風変わりな何かを想像します。
私は+followSymlinks
行を削除しようとしましたが、エンジン行を書き換えています。私は条件を取り除こうとしなかったので、私はしなければならないと思っていないので、おそらく間違っています。ここ
これはおそらくv1.3のApacheサーバーと関係しています。v2と大きな違いがあります。それは過去にmod_rewriteを使って何度も私を悩ませました。しかし、実際にはあなたのリモートホストは今アップグレードしているはずです。Apache 1.3は1年以上前に終了と宣言されました。 v2が新しくテストされたものではない。 – Spudley
私は古い1.3時代のmod_rewriteドキュメントから始めます:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule – canuckistani