【发布时间】:2013-12-19 10:37:01
【问题描述】:
我有一个简单的网站,其中包含一个带有 div 的页面,该页面根据用户选择的链接填充了 ajax 内容。该站点在 Apache 服务器上运行,在域的根目录中具有 .htaccess 文件。对 www.mydomain.com 的请求被定向到 scripts/index.php,而对动态内容(但不是资源文件)的请求被定向到同一个 .php 脚本,请求的内容作为参数传递(例如 www.mydomain.com /myProject 将被重写为 scripts/index.php?dynContent=myProject)。
我的重写规则如下,并且在大多数情况下,它们正确地执行了这些描述的任务;但是,我遇到了一些与第二个条件不匹配的 URL,尽管我希望它们会 - 尽管这是我第一次必须为 .htaccess 文件编写规则,所以我真的不知道是什么我在谈论... 一个不符合第二个条件的 URL 的一个很好的例子是 www.mydomain.com/about,但我只是通过测试随机单词/字母遇到了更多。
你能告诉我为什么 www.mydomain.com/about 不符合第二个条件吗?此外,如果有更优雅的方式来实现我上面描述的目标,我很想了解它。谢谢!!
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteRule ^(/)?$ scripts/index.php [L]
RewriteCond %{REQUEST_URI} .*[^index.php|.css|.js|.jpg|.html|.swf]$
RewriteRule .* scripts/index.php?dynContent=$1 [L]
【问题讨论】:
标签: regex apache .htaccess mod-rewrite