Мои 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
Кто-нибудь может мне помочь?
Вы можете использовать это правило, чтобы избежать внутренней ошибки сервера:
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]
Попробуйте добавить;
RewriteEngine On
RewriteCond %{QUERY_STRING} !(^|&)content= [NC] #taken from anubhava's code
RewriteRule ^([^/]*)$ /?content=$1 [L]
И вы не должны прямо читать ?содержание ценность, это может быть опасно.