2017-01-04 2 views
0

У меня есть сайт, где у меня есть страницы, как:Удалить определенную часть URL

domain.com/?p=settings 

domain.com/?p=daily 

И я ищу переписывание, что ?p= часть, так что было бы, как

domain.com/settings 

До сих пор я попытались добавить это в файлы htaccess:

RewriteRule ^([^\.]+)$ $1?p= [NC,L] 

но это не сработало.

Также я пробовал посмотреть из Google, но не смог найти.

Я пробовал другие RewriteRule, но они тоже не работали.

+0

Вы можете переписать свой URL-адрес на уровне IIS. обратитесь к этой ссылке, может помочь вам http://stackoverflow.com/questions/4410067/iis-url-rewrite-and-web-config –

+0

Возможный дубликат [Ссылка: mod \ _rewrite, переписывание URL и «красивые ссылки» объяснены ] (http://stackoverflow.com/questions/20563772/reference-mod-rewrite-url-rewriting-and-pretty-links-explained) – Croises

ответ

0

RewriteRule не включает строку запроса. Он доступен в виде отдельной переменной enter link description here

Паттерн первоначально будет сопоставляться части URL после имени хоста и порта, и перед строкой запроса (например, «/app1/index.html»). Это URL-адрес (% -декодированный).

Так что следующее не будет работать.

RewriteRule ^([^.]+)$ $1?p= [NC,L]

Вам нужно что-то вроде

RewriteCond %{QUERY_STRING} ^(\w+)=(\w+)$ 
RewriteRule ^/ %2? 

Checkout Apache Mod ReWrite Wiki и прокрутите вниз до "Создание строки запроса часть пути"

0

Вы были близки с попыткой , вы должны использовать это в своем .htaccess:

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

Перед тестированием убедитесь, что вы очистили кеш.

Смежные вопросы