【发布时间】:2017-08-08 04:08:48
【问题描述】:
我试图创建一点点 htaccess 来改变 URL 之类的东西
到
它在大多数情况下都有效,因为我可以访问该页面而不会遇到scripts 和 CSS 文件的问题。但是,如果我尝试回显$_GET["id"],而不是得到_abc-123,我将得到_abc-123.php。
这是我目前在 htaccess 文件中的内容:
Options +FollowSymLinks
# remove extensions
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
# movie page
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^page/([^/]*)$ page.php?id=$1 [L]
感谢所有帮助,
谢谢。
【问题讨论】:
-
不要使用
mod-rewrite隐藏文件扩展名,这就是MultiViews的用途。所发生的一切是您的第一个重写规则与您想要的 URL 匹配并重定向到page/_abc-123.php,然后您的第二个规则将接收该 URL
标签: php apache .htaccess mod-rewrite