我是 Joomla 和 WAMP 环境的新手。我正在使用 WAMP 环境:
- Win Srv 2003 R2 (Std Ed) 与 SP2 和所有最近的更新
- 阿帕奇 2.2.9
- PHP 5.2.6
- Joomla 1.5.14
我想用 Joomla SEF URL 启用 mod_rewrite,但它不能一起工作。
如果我将“SEF URLs”和“Add suffix to URLs”设置为“是”,它可以工作。
结果:/index.php/page.html
如果我将 'mod_rewrite' 和 'Add suffix to URLs' 设置为 Yes,它不会给出任何错误(不确定它是否按预期方式工作)。
结果:/index.php?option=com_content&view=article&id=3&Itemid=5
如果我将“SEF URLs”和“mod_rewrite”设置为“是”,那么它会给我“404 Not Found”错误。
结果:未找到 |/pagename
在此服务器上找不到请求的 URL如果我将 'SEF URLs' + 'mod_rewrite' + 'Add suffix to URLs' 设置为是,那么它会给我“404 Not Found”错误。
结果:未找到 |/pagename.html
在此服务器上找不到请求的 URL
我使用的是 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 的模块文件夹中有mod_rewrite.so 。
我不确定我还需要做什么才能使其正常工作。我检查了几乎所有论坛的帖子和博客。然而,没有任何帮助。
我也有 PHP_MAILER 问题,但这并不重要。我感谢您的帮助。如果您需要更多详细信息来解决此问题,请告诉我。
亲切的问候
DM