2017-04-13 4 views
-1

私はmod_rewriteを試して、それについていくつかのことを読んでみたいです。この書き換えルールの問題は何ですか?

私はローカルホスト上でこのファイルを持っている:

board.php?b=123XYZ 

をし、アーカイブしたい:

board/123XYZ 

これは私がこれまで持っているものである:(.htaccessファイルは読み取り可能で、ルート内)

RewriteEngine On 
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [NC,L] 

しかし、これは機能しません。私はなぜ正規表現が一致するか分からない。

+0

動作しないと何がエラーですか? – anubhava

答えて

0

これを試してください:

RewriteRule ^board\/([aA-zZ0-9-]+)\/?$ board.php?b=$1 [NC,L] 

私はスラッシュはスラッシュをエスケープする必要があると思います。

このツールは、正規表現のテストに役立ちます:

http://regexr.com/ 
+0

悲しいことに、これはまだ動作しません。 – sarrrrek

0

としてこれを試してみてください、

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [QSA,NC,L] 

あなたはおそらくApacheのディレクトリとして受信URLを想定しているので、見られない404を取得することがあります。

関連する問題