私はこれに対する答えを見てきました。.htaccess RewriteRuleのアドバイス
RewriteEngine On
RewriteBase /mysite/
RewriteRule ^(superv/)([^\?/]+)$ $1\?p=$2 [NC]
しかし、それは働いていない:私は何をしたいか
は、ここで私は昨日から思い付いた最高の式だ
http://localhost/mysite/superv/?p=something
で
http://localhost/mysite/superv/something
を交換です。
私はこのラインが魅力のように働いているので「でRewriteBase」ブツが問題とは何の関係もないと思う:
RewriteRule ^(javascripts/main\.js)$ $1\.php [NC]
編集:右Rekire、コピー&ペーストしながら、間違いでしたコード。私は今質問を解決しました。
EDIT2:ここではApacheのログに表示されるエラーがあります:
[Tue Mar 20 20:26:01 2012] [error] [client 127.0.0.1]
Request exceeded the limit of 10 internal redirects due to probable configuration error.
Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
私は "ルーピング" と私が引用された問題を推測している:
Looping occurs when the target of a rewrite rule matches the pattern.
This results in an infinite loop of rewrites
あなたの 'RewriteRule'" superv "に書き込むが、あなたは" admin "というURLを返そうとしているとうまくいかない。 – rekire
解説者は編集について通知されませんのでご注意ください。私はあなたがphpファイルのパスinstatにユーザーをリダイレクトしようとしていることについては疑問に思っています。これはあなたの問題かもしれません。 – rekire
置換文字列の文字をエスケープしないでください。 '$ 1?p = $ 2'。また、なぜ 'http:// localhost/mysite/javascripts/main.js'を' http:// localhost/mysite/javascripts/main.js.php'に[内部で]リダイレクトしていますか? – TerryE