Вот мой код .htaccess …
ErrorDocument 404 /404.html
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.png$
RewriteCond %{REQUEST_URI} !\.mp3$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !\.xml$
RewriteCond %{REQUEST_URI} !\.txt$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteRule ^(.*)$ /$1.php [L]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ "https\:\/\/example\.com" [R=301,L]
Я хочу, чтобы: example.com/buy?r=abc123 выглядел как: example.com/release/abc123 или даже как: example.com/abc123
Я не могу $ _GET получить содержимое r в buy.php после перенаправления URL-адреса.
Я надеюсь, что кто-то может помочь 🙂
Если вы хотите чистые URL, тогда вы можете просто использовать:
RewriteRule ^([^/]*)$ /buy?r=$1 [L]
получить example.com/abc123
Или вы можете использовать:
RewriteRule ^release/([^/]*)$ /buy?r=$1 [L]
получить example.com/release/abc123
,
Просто убедитесь, что вы очистили свой кэш перед тестированием.
Других решений пока нет …