Удалить параметр get в URL с помощью .htaccess

Мои URL выглядят так: www.example.com/?content=somefile.php,

Шаблон: всегда www.example.com/?content=чем файл типа somefile.php и иногда еще получить параметры.

Есть ли способ использовать www.example.com/somefile.php вместо www.example.com/?content=somefile.php?

Я уже попробовал следующее:

RewriteEngine On
RewriteRule ^([^/]*)$ /?content=$1 [L]

но я получаю следующее сообщение об ошибке:

Внутренняя ошибка сервера

Сервер обнаружил внутреннюю ошибку или неверную конфигурацию и был
невозможно выполнить ваш запрос.

Пожалуйста, свяжитесь с администратором сервера, [адрес не указан] и сообщите
их времени, когда произошла ошибка, и все, что вы могли сделать
это могло вызвать ошибку.

Дополнительная информация об этой ошибке может быть доступна в сообщении об ошибке на сервере.
журнал.

Сервер Apache / 2.2.14 (Ubuntu) по адресу www.example.com Порт 80

Кто-нибудь может мне помочь?

2

Решение

Вы можете использовать это правило, чтобы избежать внутренней ошибки сервера:

RewriteEngine On

# if request is not for image/css/js files
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|ico|tiff|css|js)$ [NC]
# skip if we already have ?content= in URL
RewriteCond %{QUERY_STRING} !(^|&)content= [NC]
# rewrite to ?content=
RewriteRule ^([^/]+)/?$ ?content=$1 [L,QSA]
1

Другие решения

Попробуйте добавить;

RewriteEngine On
RewriteCond %{QUERY_STRING} !(^|&)content= [NC] #taken from anubhava's code
RewriteRule ^([^/]*)$ /?content=$1 [L]

И вы не должны прямо читать ?содержание ценность, это может быть опасно.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector