QA@IT

httpd.confのmod_rewite設定について

3109 PV

下記のようにMAMPのhttpd.confの一番下にmod_rewite設定のため行を追加したのですが
動作しません。

※ちなみにURLをmod_rewite設定で
http://localhost/○○○/index.php?category=△△△△△

http://localhost/○○○/△△△△△
にする予定です。

よろしくお願いいたします。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/○○○○/?(.*)$
RewriteCond %{QUERY_STRING} (^|&)category=([^&]+)($|&)
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)$ index.php?category=$1 [QSA,PT]
RewriteLog tmp/rewrite.log
RewriteLogLevel 3

  • RewriteRuleは右側が転送先だと思いますが、右側にindex.phpがいたらおかしいのでは? -
  • flied_onion 様

    ご教示ありがとうございます。
    下記の通り修正いたしましたがまだ動かない状況でございます。

    RewriteEngine On
    RewriteCond %{QUERY_STRING} (^|&)category=([^&]+)($|&)
    RewriteRule ^○○○/index.php$ /○○○/%2?






    -

回答

ちなみにたまたまとあるブログで紹介されていた下記のやり方で試したところ
リンクを押した瞬間URLが短縮される動きがありましたがカスタマイズがわからず悩んでおります。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?id=$1
RewriteCond %{THE_REQUEST} ^./index.php
RewriteRule ^(.
)index.php$ http://example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(www¥.example¥.com)(:80)? [NC]
RewriteRule ^(.)$ http://example.com/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^id=(.
)$
RewriteRule ^$ http://example.com/%1?

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。