HTACCESS |Социальный двигатель |Хватит перенаправлять Root index - PullRequest
1 голос
/ 04 декабря 2010

У меня установлена ​​программа SocialEngine, и все URL-адреса обрабатываются файлом .htaccess, который перенаправляет файл socialengine.php и обрабатывает красивые URL-адреса и т. Д.

Я хочуостановка example.com/ была перенаправлена ​​на скрипт, так как я хочу разместить там другую страницу индекса.Поэтому я хочу, чтобы мой файл .htaccess обрабатывал все остальные файлы, которые он не может найти с помощью сценария socialengine.php , но при этом оставил корневому файлу index.php .

Так что, если он .com/, он переходит к index.php , а если это что-то еще, он обрабатывается через socialengine.php .

Ниже приведен мой файл .htaccess, которыйтребует изменения.

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  # Get rid of index.php
  RewriteCond %{REQUEST_URI} /socialengine\.php
  RewriteRule (.*) socialengine.php?rewrite=2 [L,QSA]
  # Rewrite all directory-looking urls
  RewriteCond %{REQUEST_URI} /$

  RewriteRule (.*) socialengine.php?rewrite=1 [L,QSA]
  # Try to route missing files
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} public\/ [OR]
  RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|ico|flv|htm|html|php|css|js)$
  RewriteRule . - [L]

  # If the file doesn't exist, rewrite to index
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ socialengine.php?rewrite=1 [L,QSA]
</IfModule>

Заранее благодарен за любые ответы.

1 Ответ

2 голосов
/ 04 декабря 2010

Поставьте код ниже сразу после RewriteEngine On.

RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* - [L]

Объяснение: Первая строка соответствует запросу http://example.com/ (REQUEST_URI содержит / в этом случае).Вторая строка пропускает запрос без изменений (обратите внимание на -)

Список литературы:
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

...