2011-09-02 4 views
0

ディレクトリから末尾のスラッシュを削除したいだけです。たとえば、/p/page//p/と表示されます。それはちょうど良く見えますね。後続のスラッシュを削除するにはどうすればよいですか?

しかし、私は多くの異なる種類のmod_rewritesを試しましたが、何も起こっていないか何かが起こりました。

は、私はちょうど、これは他の部分に影響を与える可能性があるとして、これは、ない/P//A/B/Cのようなフォルダにフォルダ内のフォルダに、より良い任意のスラッシュ)をサブフォルダに適用したいです私のサイトの否定的な方法で。

答えて

0

あなたの.htaccessファイルに次の行を追加してみてくださいすることができます

DirectorySlash Off 

しばらく前に私のために問題を解決しました。もちろん、パスが/の場合、私はあなたがそれを取り除くことができるとは思わない。

+0

それは私に500の内部サーバーエラーを与えました。 T_T – SkyPilot

+0

それは奇妙です、あなたはそれを正しくタイプしましたか?たぶん、Apacheのエラーログを調べて、それが何であるかを確認してください。 – animuson

+0

私は確信しています。私はあなたの正確なコメントをコピーして貼り付けました。私はその後リライトエンジンを組み込むことに決めましたが、まだそれを手に入れました。それとも別のことをやろうとしていたのですか? – SkyPilot

0

コピー(直接DOCUMENT_ROOT下)ルートの.htaccessファイルにこのコード:まだ/blogディレクトリの下にデフォルトindex.htmlまたはindex.phpまたは何を表示しながら

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{REQUEST_URI} !/$ 
RewriteRule^%{REQUEST_URI}/ [L] 

DirectorySlash Off 
RewriteCond %{THE_REQUEST} ^GET\s(.*)/\s 
RewriteRule^%1 [R=302,NE,L] 

それは外部http://localhost/bloghttp://localhost/blog/をリダイレクトします。

+0

同じDirectorySlashオプションを使用していますが、OPには明らかにアクセス権がありません。下記参照。 – animuson

+0

同じこと、500内部サーバーエラー。なぜこれが起こっているのかわかりません。これは、DirectorySlashが使用されている場合にのみ発生します。 – SkyPilot

+0

ApacheはURLにディレクトリ名の後ろにスラッシュを自動的に付加するので、その動作を変更したい場合は 'DirectorySlash Off'が必要です。 error.logを調べて、Apacheがそれに書き込んでいるエラーを確認できますか? – anubhava

関連する問題