我的mod-rewrite更改网址无效

| 我想将my.example.com/newsletter.php或example.com/newsletter.php替换为example.com/newsletter/ 我尝试了这个:
RewriteEngine On
RewriteRule ^([a-z]+)$ /$1.php [L]
如果我想要http://example.com/communities/index.php,怎么办?sub_id = 1 使用特定名称,例如http://example.com/communities/Bridlewood/ 可能?     
已邀请:
关于斜杠的其他答案是正确的,您应该抓住斜杠的可能性(请注意,\'$ \'标志着字符串的结尾。 尝试这样的事情: RewriteBase / RewriteCond%{SCRIPT_FILENAME}!-f RewriteCond%{SCRIPT_FILENAME}!-d RewriteRule ^([a-z-] +)/?$ /$1.php [QSA,NC,L] 注意:
QSA
标志代表\'query string append \',并将所有url查询传递到相关页面。 高度 编辑:对于包含小写字母以外的字符的URL,您应该更改范围组,使用不区分大小写的开关,或者按照其他人的示例使用
(.*)
!     
您需要检查所请求的内容是否确实不存在,否则会遇到各种麻烦!尝试这个:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$  /$1.php
至于执行您要询问的第二件事,显然您需要在PHP代码中具有查找功能,以获取您想要的商品的ID。确保您首先实际上没有
/communities
目录。 文档中有很多帮助:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html     
请在这里查看我的答案:使用htaccess将所有虚拟子域重写到同一文件夹中与您在此处尝试执行的操作几乎相同。     

要回复问题请先登录注册