2013-03-25 3 views
1

Я пытаюсь выяснить, как я могу удалить расширение файла из URL-адреса. Я хочу изменить www.website.com/index.php, чтобы показать www.website.com/index.Расширение файла strip из URL

Я пытался получить эту работу

RewriteRule ^about$ about.php [L] 

Когда я включаю этот код в файл Htaccess все это делает искажать мой веб-сайт, на самом деле это выглядит, как он снимает CSS, странно ..

Я запускаю свой сайт локально на сервере Wamp.

Любые советы о том, как я могу заставить это работать?

+1

Дубликат [Скрыть Page Extensions (как StackOverflow)] (http://stackoverflow.com/q/1759420/209139) или [Как я могу использовать .htaccess, чтобы скрыть расширения URL-адресов? Php?] (Http://stackoverflow.com/q/10028025/209139). – TRiG

+0

Я пробовал этот код, и я больше не получаю ошибки, но расширения все еще существуют. –

+1

Эти скрипты '.htaccess' будут работать с обоими * с * и * без * расширений файлов. Они не будут перенаправлять страницы с расширениями без них. Измените свои ссылки, чтобы не включать расширения файлов, и все должно работать. – TRiG

ответ

3

Это, скорее всего, результат использования относительных путей для связывания стилей. Пример:

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

При посещении http://example.com/about/, веб-браузер ищет таблицу стилей в: http://example.com/about/css/style.css.

Чтобы исправить это, используйте абсолютные пути, которые начинаются с вашего веб-сервера:

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

Примечание: Вы, вероятно, придется использовать абсолютные пути для ваших снимков.

+1

Это не свойство этикета полностью изменить ваш вопрос после того, как ответы были опубликованы, однако проблема с внутренней ошибкой сервера может быть вызвана тем, что Apache не поддерживает mod_rewrite. Можете ли вы проверить, что это такое? –

+0

Стиль работал нормально, тогда я получил ошибку сервера. Меняя вопрос, я удалял проблему, которой у меня больше не было. Я проверю, не так ли. –

+0

Я изменил #LoadModule модули rewrite_module/mod_rewrite.so на LoadModule модули rewrite_module/mod_rewrite.so и сброс wamp. Все еще ничего:/ –

0
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

попробуйте добавить эти строки в .htacess в корневом каталоге вашего сайта

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