目前我的网站上有20多个网址
http://www.example.net/content/index/mission
我想从所有网址中删除/ content / index,所以它们看起来应该是这样的
http://www.example.net/mission
换句话说,我总是从网址中删除/ content / index。 我确信它非常直接,但我对Apache不是很有经验。
答案 0 :(得分:12)
您需要Apache的重写模块:mod_rewrite
。
然后做这样的事情:
RewriteEngine on
RewriteRule ^content/index/(.*)$ $1
以下是mod_rewrite的官方文档:click
答案 1 :(得分:1)
我猜你已经为http://www.example.net/content/index/mission
这样的网址制定了一些重写规则您需要找到这些规则并添加一个使用类似结构的新规则,但是“硬编码”内容/索引部分,例如,假设现有规则是
RewriteRule ^content/(.*)/(.*)$ /content.php?param1=$1¶m2=$2 [L,qsa]
你想制定一个新的规则来获取/任务并以类似的方式重写它,但在现有规则开始之前,例如。
RewriteRule ^mission$ /content.php?param1=index¶m2=mission [L,qsa]
RewriteRule ^content/(.*)/(.*)$ /content.php?param1=$1¶m2=$2 [L,qsa]
这些只是示例 - 它实际上取决于您现有的规则。
答案 2 :(得分:0)
# Get rid of index.php
RewriteCond %{REQUEST_URI} /index\.php
RewriteRule (.*) index.php?rewrite=2 [L,QSA]
# Rewrite all directory-looking urls
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*) index.php?rewrite=1 [L,QSA]
或者只是添加index.html,具体取决于您要删除的扩展名,并且Apache上需要MOD_REWRITE才能使其正常工作。谢谢。
答案 3 :(得分:0)
我还有一个我写的脚本,你把它放在你的服务器上,然后通过互联网浏览器浏览它,它可以确认你的服务器上是否有mod_rewrite。只要启用了mod_rewrite,我向你展示的方式就可以100%工作
答案 4 :(得分:0)
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/removedstring/
RewriteRule ^removedstring/(.*)$ https://www.domain.eu/$1 [L,NC,R=301]