php простая проблема mod_rewrite на Snow Leopard - PullRequest
1 голос
/ 13 декабря 2011

На моей странице htaccess есть следующее:

  <IfModule mod_rewrite.c>
   Options +FollowSymLinks
   RewriteEngine on
   RewriteRule (.*?)$
   index.php?page=$1
  </IfModule>

но это не работает и выдает внутреннюю ошибку (500).

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

 <IfModule mod_rewrite.c>
   Options +FollowSymLinks
   RewriteEngine on
   #RewriteRule (.*?)$
   #index.php?page=$1
  </IfModule>

Есть идеи, что это может быть ??

Мак Снежный Барс. Мой каталог находится в DocumentRoot "/ Library / WebServer / Documents", и я не использую обычный http://localhost/~User/, но http://localhost/?? и т. Д.

Спасибо

ОБНОВЛЕНИЕ:

Я возвращался к этому, как отстраненный от других вещей целую вечность. Поэтому, пожалуйста, найдите мои новые данные ниже, с этими данными я получаю следующую ошибку:

   Internal Server Error

   The server encountered an internal error or misconfiguration and was unable to complete your request.

   Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

   More information about this error may be available in the server error log.

мой URL:

  localhost/exp/index.php 

Мой доступ:

  RewriteEngine On
  RewriteRule (.*?)/(.*?)/(.*?)$
  exp/index.php?page=$1&action=$2&id=$3

Нет, если я закомментирую все, кроме 'RewriteEngine On'

  RewriteEngine On
  #RewriteRule (.*?)/(.*?)/(.*?)$
  #exp/index.php?page=$1&action=$2&id=$3

Я получаю 403 запрещенных сообщения. Я комментирую их все на странице загрузки.

Детали моего файла /etc/apache2/httpd.conf приведены ниже:

 <Directory />
     Options Indexes MultiViews FollowSymlinks
     AllowOverride All
     Order allow,deny
     Allow from all
 </Directory>


 <Directory "/Library/WebServer/Documents/">
   Options Indexes MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
 </Directory>

Я использую это как мой локальный хост, а не как мой пользователь. Localhost / ~ User /

Так что для моей жизни не знай, что происходит.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2012

ответ пришел отсюда: Ответ на мой вопрос здесь

  RewriteEngine On
  RewriteRule ^(.*?)/(.*?)/(.*?)$ index.php?page=$1&action=$2&id=$3

кажется разрывом, и он должен быть в одной строке?

0 голосов
/ 13 декабря 2011
# Turn on URL rewriting
RewriteEngine On

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php?page=URL
RewriteRule .* index.php?page=$0 [PT]
...