.htaccessのmodrewriteを理解するのに問題があります。http://www.example.com/archive.php?title=about_me
動的URLであるURLをに書き換えたいのですがhttp://www.example.com/about_me
。私はphpを使用しており、これが現在の.htaccessコードhttp://www.example.com/archive/about_me
ですが、アーカイブを削除するように書き換えるだけです。
Options +FollowSymLinks -MultiViews
rewriteengine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/archive\.php\?title=([^&\ ]+)
RewriteRule ^ /archive/%1? [L,R=301]
RewriteRule ^/?archive/(.*)$ /archive?title=$1 [L]
## Hide .php extension
## To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
私はそれをこのコードで正しく書き直すことができました
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/archive\.php\?title=([^&\ ]+)
RewriteRule ^ /%1? [L,R=301]
RewriteRule ^/(.*)$ /archive?title=$1 [L]
ただし、ページが見つからないというエラーが返されます