Разрешить URL-адреса без каких-либо расширений с переписыванием URL-адреса, например, instancele.com/forum - PullRequest
1 голос
/ 18 июля 2011

Мне нужно разрешить URL-адреса типа http://example.com/forum на моем веб-сайте.

Вот мой .htaccess:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^([a-z-]+)$ /$1.php [L]

В настоящее время я получаю ошибку 404.

Если я изменю ^([a-z-]+)$ /$1.php [L] на ^([a-z-]+).html$ /$1.php [L] и мой URL http://example.com/forum.html, это будет работать.

Я хочу что-то вроде stackoverflow, http://stackoverflow.com/questions

РЕДАКТИРОВАТЬ: он работает с WAMPlocalhost, но на сайте это не так.

Чего не хватает?

1 Ответ

1 голос
/ 18 июля 2011
Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

# add .php file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule (.+) /$1.php [L,QSA]
  1. Я добавил Options -MultiViews - может иметь большое значение в некоторых конфигурациях (возможно, в вашем случае).

  2. Правило теперь также проверяет, существует ли такой файл .php. Если нет - перезапись не происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...