2011-03-06 13 views
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行を削除しようとしましたが、エンジン行を書き換えています。私は条件を取り除こうとしなかったので、私はしなければならないと思っていないので、おそらく間違っています。ここ

+0

これはおそらくv1.3のApacheサーバーと関係しています。v2と大きな違いがあります。それは過去にmod_rewriteを使って何度も私を悩ませました。しかし、実際にはあなたのリモートホストは今アップグレードしているはずです。Apache 1.3は1年以上前に終了と宣言されました。 v2が新しくテストされたものではない。 – Spudley

+0

私は古い1.3時代のmod_rewriteドキュメントから始めます:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule – canuckistani

答えて

0

回答:私が使用しているhttp://www.webmasterworld.com/apache/4277342.htm

?主に間違っている。それが動作するときに解決策を投稿します。

ErrorDocument 404 /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?q=$1&s=$2&p=$3 [NC] 
rewriteRule ^/?([0-9]+)/([0-9]+)$ index.php?q=&s=$1&p=$2 [NC] 

fixeddddd。

関連する問題