我已经成功创建了我的 mod_rewrite 规则来更改站点顶层的所有动态 URL,但是现在我需要为第二级创建一个规则,我认为稍后我可能需要第二级重写.
目前我有这个
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)$ index.php?subj=$1
这有助于将 /index.php?subj=home 更改为 /home,就像 iut 对所有其他页面(例如 /contact /about /events 等)所做的那样。
但是现在我在事件下创建了子页面,因此需要将/events.php?event=event-name 更改为/event-name。但是当我添加另一个规则时,它会搞乱整个网站。我试图做的是这个
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.+)$ index.php?subj=$1
RewriteRule ^(.+)$ event.php?event=$1
但这没有用。
但最重要的是,我想将 index.php 和 / (根)重定向到 /home
任何人都可以向我展示我搜索过的正确规则,但我似乎无法正确理解。
提前谢谢了 :)
干杯
更新:感谢您迄今为止的所有帮助,我尝试了所有方法,但似乎无法做到正确。正如 Ben 所建议的,我将提供有关 URL 的更多信息。现在整个站点都位于一个子目录中,因为它目前仍在开发中,所以现在它位于 mydomain.com/newwebsite/event.phpevent=2 但 .htaccess 文件当前位于开发的根文件夹中网站所以它在 /newwebsite 目录中。所以我要写的 URL 是 mydomain.com/newwebsite/event/2
您注意到它说“2”,这只是页面/事件 ID。再往下,它将不是 id,而是它的标题。