私のようなURLを取得してURLを取得しようとしています
http://example.com/?image=2VMt2
したがって、私のドメインに解決するためにPHPの[GET]メソッドを使用してindex.php
http://example.com/2VMt2
私が使用しているルールは以下のとおりです。
RewriteEngine on
RewriteRule ^/([A-Za-z0-9-]+)/?$ index.php?image=$1 [NC,L]
CentOSを実行していて、構成は次のようになります。
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.Apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
サーバー構成が正しいようです。
ただし、mod_rewriteコードを変更する必要があります。リライトルールで/
を使用して、先頭の/?$
を削除し、末尾のスラッシュをオプションにすると、http://example.com/2VMt2
とhttp://example.com/2VMt2/
の両方のURLが機能します。
RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?image=$1 [NC,L]