タグ付けされた質問 「mod-rewrite」

Apache Webサーバー用のURL書き換えモジュール。これは、いわゆる「きれいな」URLに一般的に使用されますが、単純な置換を超えたさまざまな要求処理タスクを実行するための能力と柔軟性も提供します。


15
Apache 2.2でmod_rewriteを有効にする方法
VistaマシンにApache 2.2を新しくインストールしました。modrewriteを除いて、すべて正常に動作します。 コメントを外しました LoadModule rewrite_module modules/mod_rewrite.s しかし、私の書き換えルールはどれも機能しません。 RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404 私が使用しているすべてのルールは私のホスティングで機能しているので、大丈夫なはずです。ですから、私の質問は、Apacheの設定に隠されたものがあるかどうかです。

14
htaccess https:// wwwへのリダイレクト
次のhtaccessコードがあります。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond !{HTTPS} off RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> サイトをhttps://www.HTTPSでリダイレクトし、www.サブドメインを適用したいのですが、http://www.(HTTPSなしで)アクセスするhttps://wwwと、HTTPSでリダイレクトされません。

16
.htaccess書き換えルールをデバッグするためのヒント
多くの投稿者は、.htaccessファイル内のRewriteRuleおよびRewriteCondステートメントのデバッグに問題があります。これらのほとんどは共有ホスティングサービスを使用しているため、ルートサーバー構成にアクセスできません。多くの回答者が示唆するように、.htaccessファイルの書き換えを回避できず、RewriteLogLevelを有効にすることもできません。また、.htaccess固有の落とし穴や制約については十分にカバーされていません。ローカルテストLAMPスタックの設定には、ほとんどの学習曲線が必要です。 ここに私のQは、どのように我々は、彼らがいることをお勧めしているので、デバッグ自分のルールを自分自身。以下にいくつかの提案をします。他の提案をいただければ幸いです。 mod_rewriteエンジンが.htaccessファイルを循環することを理解してください。エンジンはこのループを実行します: do execute server and vhost rewrites (in the Apache Virtual Host Config) find the lowest "Per Dir" .htaccess file on the file path with rewrites enabled if found(.htaccess) execute .htaccess rewrites (in the user's directory) while rewrite occurred そのため、ルールは繰り返し実行され、URIパスを変更すると、他の.htaccessファイルが存在する場合、そのファイルが実行される可能性があります。したがって、必要に応じて、RewriteCondルールの起動を停止するために追加でこのループを終了してください。また、.htaccess明示的にマルチレベルのルールセットを使用する意図がない限り、下位レベルの書き換えルールセットを削除します。 各Regexpの構文が正しいことを確認するには、一連のテストパターンに対してテストを行い、それが有効な構文であり、十分な範囲のテストURIで意図したとおりに機能することを確認します。詳細については、以下の回答を参照してください。 テストディレクトリにルールを段階的に構築します。 「.htaccessパス機能で最深部のファイルを実行する」を利用して、メインのルールを台無しにしてサイトの動作を停止することなく、個別のテストディレクトリ(ツリー)をセットアップし、ここでルールセットをデバッグできます。これは失敗を個別のルールにローカライズする唯一の方法であるため、一度に1つずつ追加する必要があります。 ダミースクリプトスタブを使用して、サーバーと環境変数をダンプします。(リスト2を参照)たとえば、アプリでこれを使用している場合は、blog/index.phpこれをにコピーtest/blog/index.phpして、testサブディレクトリーでブログのルールをテストするために使用できます。環境変数を使用して、書き換えエンジンが置換文字列を正しく解釈することを確認することもできます。例: RewriteRule ^(.*) - [E=TEST0:%{DOCUMENT_ROOT}/blog/html_cache/$1.html] …

19
ルートURLをサブディレクトリにリダイレクトするための.htaccess rewrite
取得しようとしています www.example.com 直接行く www.example.com/store 複数のコードを試してみましたが、どれも機能しません。 私が試したこと: Options +FollowSymlinks RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com$ RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(.+)\www.example\.com$ RewriteRule ^/(.*)$ /samle/%1/$1 [L] 何が悪いのですか?


8
RewriteBaseは.htaccessでどのように機能しますか
私はこれをいくつか見ました .htaccess例 RewriteBase / 機能的には、 <base href="">はHTMLです。 私はそれが自動的にその価値を最初に付加するかもしれないと信じています RewriteRuleステートメント(おそらくスラッシュのないもの)。 私はそれを適切に機能させることができませんでした。私はしばしば本番とは異なる開発サーバーを持っているので、サイトの移植性のために非常に便利になると思います。現在の方法では、自分の一部を削除しますRewriteRuleステートメントます。 誰でも簡単にそれを実装する方法を説明できますか? ありがとう

18
.htaccessはすべてのページを新しいドメインにリダイレクトします
リダイレクト先のすべてのページをリダイレクトするには、どのリダイレクトルールを使用olddomain.exampleしnewdomain.exampleますか? サイトの構造はまったく異なるため、古いドメインのすべてのページを新しいドメインのインデックスページにリダイレクトする必要があります。 私はこれが(olddomain.exampleベースディレクトリの下で)行うと思いました: RewriteEngine On RewriteRule ^(.*)$ http://newdomain.example/ [R=301] しかし、ナビゲートするolddomain.example/somepageと、にリダイレクトされnewdomain.example/somepageます。newdomain.exampleページのサフィックスがないリダイレクトのみを期待しています。 最後の部分を除外するにはどうすればよいですか?

23
非wwwからwwwへのApacheリダイレクト
www以外からwwwにリダイレクトされないように見えるWebサイトがあります。 私のApache設定は次のとおりです。 RewriteEngine On ### re-direct to www RewriteCond %{http_host} !^www.example.com [nc] RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 何が欠けていますか?

5
Apache mod_rewriteをデバッグする方法
mod_rewriteには2つの主な問題があります。 1)無効なルールがある場合、意味のあるエラーは報告されません 2)各変更を確実にテストするには、クロムのキャッシュを消去する必要があります。これはロケットサイエンスではありませんが、Ctrl + Shift + Deleteを押してから[OK]をクリックし、ウィンドウを閉じてリロードする必要があります。 どんな教祖がmod_rewriteコードを効率的に管理するために彼らの秘密を喜んで共有してくれるかどうか知りたいのですが。

15
PHPでmod_rewriteが有効になっているかどうかを確認する方法
ApacheとIISでmod_rewriteが有効になっているかどうかを確認できるかどうか疑問に思っていましたでましたPHP。 IISのModRewriteが存在します。チェックしてhere。 だから、私はのためにチェックしていることPHPスクリプトを探していますmod_rewrite上のApacheとIIS。 誰かがそのようなスクリプトを知っているか、それを書くことができますか? 特にMicrosoft IISの場合。 ありがとう!
149 php  apache  mod-rewrite  iis 

6
.htaccess mod_rewrite-書き換えルールからディレクトリを除外する方法
.htaccessファイルに8行の書き換えルールがあります。サーバー上の2つの物理ディレクトリをこれらのルールから除外して、それらにアクセスできるようにする必要があります。今のところ、すべてのリクエストはindex.phpファイルに送信されます。 除外するディレクトリ:「admin」と「user」。 したがって、httpリクエスト:http: //www.domain.com/admin/をindex.phpファイルに渡してはいけません。 ErrorDocument 404 /index.php?mod=error404 Options FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L] RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]

4
リファレンス:mod_rewrite、URLの書き換え、および「かわいらしいリンク」の説明
「かわいらしいリンク」は頻繁に要求されるトピックですが、完全に説明されることはほとんどありません。mod_rewriteは「かわいらしいリンク」を作成する1つの方法ですが、複雑で、構文は非常に簡潔であり、理解するのが難しく、ドキュメントはHTTPのある程度の熟練度を前提としています。「きれいなリンク」がどのように機能し、mod_rewriteを使用してリンクを作成できるかを誰かが簡単に説明できますか? その他の一般的な名前、エイリアス、クリーンURLの用語:RESTful URL、ユーザーフレンドリーなURL、SEOフレンドリーなURL、slugging、MVC URL(おそらく誤った名称)

5
PHPによるURLの書き換え
次のようなURLがあります。 url.com/picture.php?id=51 そのURLを次のように変換するにはどうすればよいですか。 picture.php/Some-text-goes-here/51 WordPressも同じだと思います。 PHPでわかりやすいURLを作成するにはどうすればよいですか?

8
htaccessによるフォルダとファイルへの直接アクセスを拒否する
ここにシナリオがあります: index.phpルートフォルダにファイルがあります 一部のファイルはフォルダーに含まれてindex.phpいincludesます。 他の1つのファイル(submit.php)は、フォーム送信アクションのルートフォルダーにあります。 includeshtaccessによるフォルダー内のファイルへの直接ユーザーアクセスを制限したい。またsubmit.php。ただし、includeはindex.phpファイルに対して機能します。同様に、ユーザーがと入力すると、www.domain.com/includes/somepage.php制限されます(エラーページにリダイレクトされる場合があります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.