2009-10-14 1 views
3

Я новичок в среде Joomla и WAMP. Я использую WAMP среды:Ошибка Apache mod_rewrite с WAMP - показывает ошибку 404 Не найдено - Joomla 1.5.14 с SEF URL

  • Win Srv 2003 R2 (Std Ed) с пакетом обновления 2 и все последние обновления
  • Apache 2.2.9
  • PHP 5.2.6
  • Joomla 1.5.14

Я хочу включить mod_rewrite с URL-адресом Joomla SEF, но он не работает вместе.

  • Если я установил «URL-адреса SEF» и «Добавить суффикс в URL-адреса», так как «Да» это работает.
    Результат: /index.php/page.html

  • Если установить «mod_rewrite» и «Добавить суффикс к URL», как Да, это не дает каких-либо ошибку (не уверен, если он работает так, как предполагают, или нет).
    Результат: /index.php?option=com_content&view=article&id=3&Itemid=5

  • Если установить 'URL SEF' и 'mod_rewrite' как Да, чем дать мне "404 Not Found" ошибка.
    Результаты: Не найдено | Запрошенный URL /pagename не был найден на этом сервере

  • Если установить «SEF URL» + «mod_rewrite» + «Добавить суффикс к URL» как Да, чем это дает мне «404 Not Found» ошибку.
    Результаты: Не найдено | Запрошенный URL /pagename.html не был найден на этом сервере

Я использую .htaccess по умолчанию, предоставляемое Joomla код следующим образом:

 

## Can be commented out if causes errors, see notes above. 
Options +FollowSymLinks 

# 
# mod_rewrite in use 

RewriteEngine On 


########## Begin - Rewrite rules to block out some common exploits 
## If you experience problems on your site block out the operations listed below 
## This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
# Block out any script trying to set a mosConfig value through the URL 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 
# Block out any script trying to base64_encode crap to send via URL 
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] 
# Block out any script that includes a tag in URL 
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Send all blocked request to homepage with 403 Forbidden error! 
RewriteRule ^(.*)$ index.php [F,L] 
# 
########## End - Rewrite rules to block out some common exploits 

# Uncomment following line if your webserver's URL 
# is not directly related to physical file paths. 
# Update Your Joomla! Directory (just/for root) 

RewriteBase /abc 
# /abc is a sub-directory of joomla install in htdocs 

########## Begin - Joomla! core SEF Section 
# 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] 
RewriteRule (.*) index.php 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
# 
########## End - Joomla! core SEF Section 



В httpd.conf

  • У меня есть LoadModule rewrite_module modules/mod_rewrite.so activ e (uncommented #)
  • У него mod_rewrite.so в Apache's папка.

Я не уверен, что еще мне нужно сделать, чтобы оно работало. Я проверил почти все сообщения и блоги форумов. Однако ничего не помогает.

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

С наилучшими пожеланиями

DM

+0

Где находится ваша установка Joomla? – Gumbo

+0

Установка находится в htdocs/подкатегории Я использую vHost, поэтому htdocs/подпадает под каталог mydomain.com. Дайте мне знать, если у вас есть другие вопросы. (Извините, что немного поздно ответил, так как это первый раз для меня в stackoverflow и не видел, где ваш вопрос был, поскольку он не показывался, это как-то или нет.) –

+0

Мой сайт был в прямом эфире, но из-за этой проблемы мне пришлось принять это вниз. В настоящее время я сохранил все как localhost. После того, как я разрешу проблему, я верну ее, чтобы жить. –

ответ

8

я узнал ответ на мой вопрос: я добавил в каталог httpd.conf, но AllowOverride был установлен в None вместо All, чтобы позволить.htaccess вступает в силу.

AllowOverride Все должно быть там, где apache работает с .htaccess. Код будет выглядеть примерно так:

 
<Directory "D:/Apache/htdocs/joomla"> 
    AllowOverride all 
    Options None 
    Order allow,deny 
    Allow from all 
</Directory> 

Наряду с выше изменения одной необходимостью иметь "RewriteBase /"
(комплект включен, i.e.uncomment RewriteBase /)

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