2016-02-10 7 views
0

Мой файл .htaccess есть правило, чтобы сделать ссылки как.htaccess правила не работает корректно

localhost/post.php?id=some-post

быть переписан

localhost/post/some-post

Код является:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteRule ^post.php/([a-z0-9-]+)$ post.php?id=$1 [L] 

Это хорошо работает. Однако теперь все встроенные ссылки в файлах .php переходят на localhost/post/first.

Пример: Если я перехожу к сообщению, мой стиль.css не загружается. Сообщение выполняет поиск файла в http://localhost/post/css/style.css, вместо http://localhost/css/style.css.

То же самое происходит с изображениями в/IMG/папки, шрифты в/FONT/папки и т.д. Это выглядит для всего дополнительной записи/папки, даже дополнительные файлы PHP в качестве/администратора папку ..

Есть ли какое-нибудь правило, которое позволит мне это исправить? Спасибо за помощь!

+0

попробовать добавить '/' 'перед Post.php ID = $ 1' – RamRaider

+0

Я пытался, но я получил сообщение об ошибке на странице:/ –

+0

:(Я никогда не приближайтесь WP поэтому я считаю, что это конфиг и макет немного запутанный. Извините @J Gal - есть много пользователей SO, которые знают много о WP, поэтому, надеюсь, один из них укажет вам в правильном направлении. – RamRaider

ответ

0

Да, вы можете исправить это легко. Вот два варианта.

Вы можете добавить базовый тег в раздел <head> вашего html.

<base href="/" /> 

Или вы можете предварять свой путь CSS с / в HREF

<link rel="stylesheet" type="text/css" href="/path/to/style.css"> 

Для хорошей меры, я хотел бы также обновить мое правило игнорировать реальные файлы и реальные каталоги, так что если вы добавляете любого другие дружеские правила seo не будут делать странные вещи. ?

RewriteEngine On 
RewriteBase/

#if request is for a real file or directory do nothing. 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

#else all other rules go here for pretty URLs 
RewriteRule ^post/([a-z0-9-]+)$ post.php?id=$1 [L] 
+0

Большое вам спасибо! работая как шарм. Добавление/до того, как мой css ничего не сделал, и добавленные вами 2 RewriteCond и RewriteRule добавили все мои сообщения в http: //localhost/post/index.php и дали ошибку:/Не знаю, почему. –

+0

Хорошо, хорошо, что у вас получилось css –

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