クリーンな URL を取得するために Apache 2.2 mod_rewrite を取得しようとしています。などのリンクがあります
<ul>
<li><a href="index.php?view=pageName">Page Name</a></li>
<li><a href="index.php?view=pageName2">Page Name2</a></li>
<li><a href="index.php?view=pageName3">Page Name3</a></li>
</ul>
そしてurlが出てきます
http://example.com/user/index.php?view=pageName
アドレスバーのURLをこれにきれいにしたい
http://example.com/user/pageName
編集:これは、使用する場合、私の httpd.conf にあるものです。
<Directory "C:/Apache2.2/htdocs/user">
Options Indexes FollowSymLinks
AllowOverride all
order allow,deny
Allow from all
</Directory>
phpinfo() を使用して、mod_rewrite がロードされていることを確認しました。これは、Apache の仮想ユーザーではなく、.htaccess (ユーザー ファイル、ルート .htaccess ではありません) にあります。
RewriteEngine on
RewriteBase /user/ #Edited rewrite base added in, but not helping much.
RewriteOptions Inherit
RewriteRule ^/user/([a-zA-Z])/?$ index.php?view=$1 [NC,L]
編集:私の.htaccessの残りの部分
#Ensure browser reads Header
Header unset ETag
FileETag None
Header unset Last-Modified
#Set caching expires
Header set Expires On
ExpiresDefault "access plus 30 days"
#gzip
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
html 構造が同一で、適切に機能しないすべてのメニュー リンクで同じように機能するとは限りません。IE: に送信されますhttp://example.com/user/?view=pageName
が、ルート HTML ファイルのコンテンツを読み込んでいます。
この行を変更すると
RewriteRule ^/user/([a-zA-Z])/?$ index.php?view=$1 [NC,L]
に
RewriteRule ^index\.php$ http://www.google.com [NC,L]
期待どおりにGoogleに送信されます。明らかに、マッチングと置換で何か間違ったことをしているに違いありませんが、何が間違っているのでしょうか? 前もって感謝します。
編集: access.log と error.log にはエラーがありません。