Apache 如何对预先存在的.htaccess文件进行URL重写?
我有一个目前可以通过URL访问的论坛:Apache 如何对预先存在的.htaccess文件进行URL重写?,apache,.htaccess,url-rewriting,Apache,.htaccess,Url Rewriting,我有一个目前可以通过URL访问的论坛: www.website.com/index.php?app=论坛 相反,我希望人们能够: www.website.com/forum 不过,这里有一个要点-已经有一个.htaccess文件包含以下内容: <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCon
www.website.com/index.php?app=论坛
相反,我希望人们能够:
www.website.com/forum
不过,这里有一个要点-已经有一个.htaccess文件包含以下内容:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
选项-多视图
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
这似乎是可能的,但我不知道自己该怎么做
谢谢 还没有测试过这个,但是类似的东西应该可以工作。在第一个RewriteCond指令之前添加此命令
RewriteRule ^forum$ /index.php?app=forums
或者,您也可以执行从/forum到index.php URL的301重定向
通过这样做:
Redirect 301 /forum "http://www.website.com/index.php?app=forums
但是,看起来您需要进行适当的重写,因此第一个选项更好,谢谢您的回答。我试着在
RewriteBase/
下面添加一行,但它不起作用。另外,我不想重定向,因为我实际上希望人们通过此URL访问论坛。我目前没有apache设置,但您可以尝试执行301重定向:redirect 301/forum“http://www.website.com/index.php“
将其添加到.htaccess文件的顶部。此外,这将帮助您了解apache是否实际使用了.htaccess文件/mod rewrite,输入一个没有与之关联的文件/目录的URL,如website.com/blahblahblah,并查看它是否将您重定向到index.php。也许值得;)我看到你在问题中改变了你的get参数。更新了答案以反映这一点。