0

クリーンな 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 にはエラーがありません。

4

3 に答える 3

3
RewriteRule ^/user/([a-zA-Z]+)?$ index.php?view=$1  [NC,L]

+ が欠落しているため、単語と一致していません。単一の文字のみです

于 2011-06-02T09:16:13.293 に答える
2
RewriteRule ^/user/([a-zA-Z])?$ index.php?view=$1  [NC,L] 

これを試してください..(スラッシュを1つ削除)

于 2011-06-02T04:33:54.870 に答える
0

修正:そのまま使用するHTMLURLスタイルを変更する必要があった

<a href="pageName">Page Name</a>

その後、.htaccess

RewriteEngine On
RewriteOptions Inherit
ReWriteBase /user/
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?view=$1 [QSA,L]

また、キャッシュが残っていると書き換えが妨げられるため、apacheのhttpd.confからmod_cache.soを無効にする必要がありました。これが他の人がクリーンURLを機能させるのに役立つことを願っています。

于 2011-06-03T00:05:17.663 に答える