我有这个重写规则:
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ [NC]
RewriteRule ^.*$ - [R=404,L]
RewriteRule ^(home|contact|about|submit|search)/?$ /index.php?page=$1 [L]
RewriteRule ^([a-z]+)/([a-z0-9-]+)/?$ /index.php?page=home&cat=$1&slug=$2 [L]
RewriteRule ^([a-z]+)/?$ /index.php?page=home&cat=$1 [L]
我想要的是:
$_GET['page']
。我不想检查php。请帮助
答案 0 :(得分:0)
由于所有内容最终都路由到 index.php (前端控制器模式),我建议删除mod_rewrite
并使用:
FallbackResource /index.php
然后解析 index.php 中的网址并相应地处理路由。
这需要一些改写,但从长远来看会更灵活。
答案 1 :(得分:0)
您可以使用mod rewrite为您的网页index.php添加参数,然后在php页面中处理它们,可能会发回错误页面(如cakePHP中)。只保留一条规则。
RewriteRule ^([0-9A-Za-z]+)/?$ /index.php?argument=$1 [L]
答案 2 :(得分:0)
尝试使用ErrorDocument
白名单位页
ErrorDocument 404 /erreur_404.html