【发布时间】:2010-12-06 19:07:42
【问题描述】:
我是 Joomla 和 WAMP 环境的新手。我正在使用 WAMP 环境:
- Win Srv 2003 R2 (Std Ed) SP2 和所有最新更新
- Apache 2.2.9
- PHP 5.2.6
- Joomla 1.5.14
我想用 Joomla SEF URL 启用 mod_rewrite,但它不能一起工作。
如果我将“SEF URL”和“向 URL 添加后缀”设置为“是”,它可以工作。
结果:/index.php/page.html如果我将 'mod_rewrite' 和 'Add suffix to URLs' 设置为 Yes,它不会给出任何错误(不确定它是否按预期的方式工作)。
结果:/index.php?option=com_content&view=article&id=3&Itemid=5如果我将“SEF URL”和“mod_rewrite”设置为“是”,则会出现“404 Not Found”错误。
结果:未找到 |在此服务器上找不到请求的 URL/pagename如果我将 'SEF URLs' + 'mod_rewrite' + 'Add suffix to URLs' 设置为 Yes,则会出现“404 Not Found”错误。
结果:未找到 |在此服务器上找不到请求的 URL/pagename.html
我使用的是Joomla提供的默认.htaccess,代码如下:
## 如果导致错误可以被注释掉,见上面的注释。 选项 +FollowSymLinks # # mod_rewrite 正在使用中 重写引擎开启 ########## Begin - 重写规则以阻止一些常见的漏洞利用 ## 如果您在网站上遇到问题,请阻止下面列出的操作 ## 这试图阻止最常见的利用类型“尝试”到 Joomla! # # 阻止任何试图通过 URL 设置 mosConfig 值的脚本 RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # 阻止任何试图通过 URL 发送 base64_encode 废话的脚本 RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # 屏蔽任何在 URL 中包含标签的脚本 RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR] # 阻止任何试图通过 URL 设置 PHP GLOBALS 变量的脚本 RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # 阻止任何试图通过 URL 修改 _REQUEST 变量的脚本 RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # 将所有被阻止的请求发送到带有 403 Forbidden 错误的主页! RewriteRule ^(.*)$ index.php [F,L] # ########## End - 重写规则以阻止一些常见的漏洞利用 # 如果您的网络服务器的 URL,请取消注释以下行 # 与物理文件路径没有直接关系。 # 更新你的 Joomla!目录(仅 / 用于 root) 重写基础 /abc # /abc 是 htdocs 中 joomla 安装的子目录 ########## 开始 - Joomla!核心 SEF 部分 # 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] # ########## 结束 - Joomla!核心 SEF 部分在 httpd.conf 中
- 我有
LoadModule rewrite_module modules/mod_rewrite.so活动(未注释#) - 它在 Apache 的 modules 文件夹中有 mod_rewrite.so。
我不确定我还需要做什么才能使其正常工作。我检查了几乎所有论坛的帖子和博客。但是没有任何帮助。
我也有 PHP_MAILER 问题,但这并不重要。我感谢您的帮助。如果您需要更多详细信息来解决此问题,请告诉我。
亲切的问候
私信
【问题讨论】:
-
您的 Joomla 安装在哪里?
-
安装位于 htdocs/subdirectory 我正在使用 vHost,因此 htdocs/subdirectory 变为 mydomain.com。如果您还有其他问题,请告诉我。 (抱歉回复晚了,因为这是我第一次在 stackoverflow 上,没有看到你的问题在哪里,因为它没有显示是 asnwer 或其他任何东西。)
-
我的网站已经上线,但由于这个问题,我不得不将其删除。目前,我将所有内容都保留为 localhost。解决问题后,我会将其恢复。
-
好吧,您的 .htaccess 将
RewriteBase设置为/abc。尝试不使用该指令。 -
您好,感谢您的回复。我尝试了以下方法 - RewriteBase / 和 - 评论 #RewriteBase / 但是两者都不起作用。我总是用我所做的任何更改重新启动我的 Apache。
标签: apache mod-rewrite joomla1.5 wamp joomla-sef-urls