【发布时间】:2012-05-20 19:29:04
【问题描述】:
我想将/home 改写为index.php 和/edit 改写为edit.php,但其他所有内容,例如/asdfg 我想重定向到new.php
编辑和主页都在自己的工作上,但(.*) 优先于这些规则,我在没有RewriteCond 的情况下尝试过,但没有任何效果。
RewriteEngine on
RewriteBase /
RewriteRule ^home$ /index.php
RewriteRule ^edit$ /edit.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /new.php [L,R=301]
我只需要将所有未定义的 URI 重定向到 /new.php
我还需要将/asdfg 保留在 URI 中,以便我可以使用 JavaScript 抓取它并显示适当的内容,或者显示一个页面以让用户发布新帖子或显示现有内容。
我无法定义所有现有内容,因为它来自数据库,只有少数预定义、保留的 "/folders" 将重定向到预定义页面。
我有以下工作:
RewriteEngine on
RewriteRule ^home$ /index.php [R]
RewriteRule ^edit$ /edit.php [R]
它把 /home 留在那里并转到 index.php
现在我只需要将所有未知请求重定向到默认页面 new.php。
我基本上是想防止用户收到 404 或任何其他错误,永远......
【问题讨论】: