2014-02-03 1 views
2

Я знаю, что этот вопрос уже был опубликован много времени, я уже искал, но я не мог найти то, что мне нужно.seo friendly url с htaccess

я работаю над моей HTAccess добавить сео Товарищеский ссылку, например:

Options -MultiViews 
RewriteBase/
RewriteRule ^list$ list.php [L] 

, что работает отлично, проблема apper, когда я пытаюсь добавить ВАР, для exmpale мне нужно, что URL-адрес: ? pages.php ID = условия стали: страницы/термины

, поэтому я стараюсь во многом пути, но не работаю, это то, что я стараюсь:

Options +FollowSymLinks 
RewriteRule ^list$ list.php [L] 
RewriteRule ^page/(.*)/ pages.php?x=$1 [L] 

PS: в чем разница между + FollowSymLinks и -MultiViews?

ответ

2

Добавить QSA флаг:

Options +FollowSymLinks -MultiViews 

RewriteRule ^list$ list.php [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^page/([^/]+)/?$ pages.php?x=$1 [L,QSA,NC] 
  • QSA (Строка запроса Append) флаг сохраняет существующие параметры запроса при добавлении нового.
  • Информация о Apache's content negotiation.
  • +FollowSymLinks позволяет Apache следовать символическим ссылкам.
  • -MultiViews делают выключает согласование содержания

Для CSS/JS/изображение:

  1. Используйте абсолютный путь в ваших CSS, JS, файлы изображений, а не относительным. Это означает, что вам нужно убедиться, что путь к этим файлам начинается либо с http://, либо слэш /.
  2. или же вы можете попробовать добавить это в заголовок вашей страницы: <base href="/" />
+1

спасибо теперь сео-ссылки работа (domain.com/page/terms), но включаемый файл (например, CSS) не загружаются. Я добавил «RewriteBase /» в свой htaccess, но ничего не изменилось. как я могу сделать? – ipel

+0

можно добавить после id полное название страницы? например: domain.com/page/terms/page-title-in-this-format, но в htaccess единственным параметром для использования является первый (в данном случае «термины»), а htaccess просто игнорирует остальные – ipel